首页/系统/Linux 运维命令速查/场景:解压 Windows 中文 zip 乱码处理
文件与目录76 条

场景:解压 Windows 中文 zip 乱码处理

Windows 打包的中文压缩包在 Linux 解压文件名乱码:根因是 GBK 与 UTF-8 编码错位,用 7z 或 -O 指定编码解决。

Linux 运维命令速查系统更新于 2026-10-12
场景GBK 文件名压缩包正常解压
工具7z -mcp=936 / unzip -O CP936 / convmv 后处理
根因zip 存字节名,Windows 用 GBK

常用示例

常用示例
unzip -l gbk.zip                 # 先看文件名能否显示
7z x gbk.zip -mcp=936 -o/out/   # 指定 GBK 解码(推荐)
unzip -O CP936 gbk.zip -d out/  # Debian 系打过补丁的 unzip 可用
7z 的方案跨平台最稳;已经解出乱码名的用 convmv -f gbk -t utf-8 -r 目录 修复。

易错点

  • unzip -O 依赖发行版补丁,有的环境不支持;先 unzip -v 看版本再选方案
  • 修复已有乱码名前先在副本上试跑,convmv 参数写错会破坏文件名

数据来源与参考

  • man 1 unzip(Info-ZIP 手册)
  • 7-Zip 官方文档(-mcp 代码页参数)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌