@monkeydev 跨 Windows *nix 不要使用 zip,换 tar 或者 7z. zip 格式设计时没有考虑存储文件系统编码。*nix 下文件名、文件夹名都是 UTF-8 编码,中文 Windows 下大概是 GBK 之类的。直接解压对方压缩的 zip 时,会使用自己文件系统的编码,解压必然失败。
如果非要死磕 zip:
- 少量 GUI app (如 macOS 下 Entropy 和 The Unarchiver )对 zip 解压加入了编码猜测支持,而不是直接使用当前文件系统的编码。 - 某些 TUI 支持解压 zip 时指定编码,如 unzip-iconv (patch 版 unzip, -O, -I 参数),unarchive (The Unarchiver 应用底层命令行工具,-e gb18030)