Linux 中 unzip 解压时中文乱码的解决办法
当我们在 linux 中解压一个含有中文名字的压缩包如“资料.zip”时,如果直接使用如下的命令,将会出现中文乱码。
unzip 资料.zip
主要的原因是因为 unzip 在解压的时候会将编码转化为其内部默认的编码,而默认的编码根本不支持中文 CP936 编码。因此我们需要在解压的时候明确的指定需要使用的编码。
目前可以采用如下两种方式解决
方法一 在解压的时候直接指定编码格式
指定 GBK GB18030 编码也是可以的
unzip -O CP936 资料.zip
方法二 配置环境变量,指定 unzip 的参数
在环境变量中,指定 unzip 参数,总是以指定的字符集显示和解压文件
比如,需要在/etc/environment中加入 2 行:
UNZIP="-O CP936"
ZIPINFO="-O CP936"