在 CentOS 下解压(extract)出现乱码,通常不是“解压工具坏了”,而是文件名编码不一致导致的,尤其是 Windows / 中文 ZIP 包 在 Linux 上解压时非常常见。
下面按常见原因和解决办法说明。
䏿–‡.txt????.doczip 默认使用 GBKunzip 不会自动识别编码-O 指定编码(推荐)unzip -O GBK file.zip
或
unzip -O GB18030 file.zip
注意:
CentOS 自带的 unzip 可能不支持-O
需要安装 patched 版本(见后面)
-O 的 unzipyum install -y unzip
如果仍不支持 -O,可安装:
yum install -y epel-release
yum install -y unzip-iconv
使用:
unzip-iconv -O GBK file.zip
7z / p7zip(更稳)yum install -y p7zip p7zip-plugins
解压:
7z x file.zip
7z 对中文编码兼容性更好。
如果是 tar.gz:
tar -xzf file.tar.gz
乱码通常是:
检查:
echo $LANG
应为:
zh_CN.UTF-8
如果不是:
export LANG=zh_CN.UTF-8
convmv -f gbk -t utf-8 -r --notest *
安装:
yum install -y convmv
rm -rf 解压目录
unzip -O GBK file.zip
✅ 压缩时用:
zip -r file.zip dir/
(Linux → Linux)
✅ Windows 传文件优先用:
7ztar.gz如果你愿意,可以告诉我:
unzip / tar / 7z 哪个cat /etc/redhat-release)我可以直接给你一条可用命令。