Mac 解压 ZIP 文件名乱码怎么办?

同事从 Windows 发来的 ZIP,在 Mac 上一解压,中文文件名变成了一串看不懂的符号。多数情况下文件内容没有坏,坏的只是名字。

为什么会乱码

ZIP 格式早期没有规定文件名用哪种编码。Windows 中文系统上的不少压缩工具按系统区域编码写文件名,简体中文是 GBK / GB18030,而且不在压缩包里标注用了什么编码。Mac 按 UTF-8 或 ZIP 规范的默认编码去读,名字自然就错了。日文(Shift-JIS)、韩文(EUC-KR)的压缩包也是同一个原因。

为什么有的 ZIP 不乱码

较新的压缩工具会用 UTF-8 写文件名,并在 ZIP 里打上标记,任何系统读到标记都能正确显示。乱码主要出在没有这个标记的压缩包上,常见于较老的工具或默认设置。

用 Zip7zX 解压,文件名自动识别

Zip7zX 打开压缩包时会检测文件名编码,GB18030、Shift-JIS、EUC-KR 等会自动识别。直接在 Finder 右键「解压到这里」,得到的就是正确的文件名。

个别压缩包如果识别不准,先右键「使用 Zip7zX 打开」,在窗口工具栏的「文件名编码」里手动切换,列表会立刻按新编码显示,确认名字正确后再解压。设置里还可以调整自动识别的优先顺序。这些都是免费功能。

反过来:从 Mac 发 ZIP 给 Windows 用户

在 Mac 上压缩的 ZIP 常带着 __MACOSX 文件夹和 .DS_Store 文件,Windows 用户解开会看到一堆用不上的东西。Zip7zX 压缩时默认排除 macOS 隐藏文件,并提供「为 Windows 用户创建」选项,文件名统一用 UTF-8 写入,对方打开不乱码也不见杂项。

常见问题

已经解压出来的乱码文件名还能改回来吗?

如果原始压缩包还在,用能识别或切换编码的工具重新解压最省事;已经解压出来的文件,只能逐个手动改名。

解压 7Z 或 RAR 也会乱码吗?

7Z 与 RAR5 格式本身以 Unicode 保存文件名,一般不会乱码,乱码问题主要出在 ZIP 上。

识别编码要付费吗?

不用。Zip7zX 的文件名编码自动识别与手动切换都属于免费功能。

Zip7zX · Mac 压缩与解压工具
单卷 RAR 解压永久免费 · Pro ¥19/年 或 ¥49 买断 · macOS 14+

相关教程