linux解压unzip中文乱码的解决办法

发布时间:2020-09-20编辑:脚本学堂
在linux下解压缩uzip格式的文件,出现中文乱码,这里分享下解决方法,有遇到upzip解压乱码的朋友,不妨参考学习下。

由原本linux服务器迁移到windows服务器,其间所遇到的问题:
1、在Linux系统中备份的文件,在Windows解压出现中文乱码,这个其实是个失误,使用的是win03自带的zip查看资源管理器直接复制的。
建议使用免费的7-zip。

2、在windows上备份的程序zip文件,如果文件路径中包含中文,在Linux中解压可能会出现乱码

分析:在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以 linux上的unzip一般以默认编码解压,中文文件名会出现乱码。

Sun对java中存在N年的zip编码问题,采用了同样的处理方式。

下面分享三种解决方法,供大家参考。

方法1,通过unzip行命令解压,指定字符集
 

复制代码 代码示例:
unzip -O CP936 xxx.zip (用GBK, GB18030也可以)
 

有趣的是unzip的manual中并无这个选项的说明,unzip –help对这个参数有一行简单的说明。

方法2,在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件
/etc/environment中加入2行
 

复制代码 代码示例:
UNZIP=”-O CP936″
ZIPINFO=”-O CP936″

方法3,采用java的jar命令解压zip包 JAR 解压
 

复制代码 代码示例:
jar xvf file.name