Search Posts

windows压缩的文件建议用7zip格式而非zip或rar格式,能防止在linux下zip和rar解压后中文文件名乱码问题

windows下压缩文件请用7zip,能防止在linux下压缩包内文件名乱码:

以上结论经过测试验证的。确实如此,windows下压缩的zip和rar包,在win下打开里面文件名(含中文名文件)显示正常,但是在linux下用xarchiver 等软件往往显示为乱码,解压后也是乱码。

而如果在win下用7zip格式压缩的,就不存在以上问题。其他方案还有:在win下压缩的zip格式,如果在linux下用7za(p7zip)软件解压,也不会出现中文名乱码问题。

centos下p7zip的安装方法:

yum install  -y p7zip

ubuntu/debian下的安装方法:

apt-get install -y p7zip

效果对比:

linux下用unrar命令解压出的文件名中文乱码,后面括号内带有“无效的编码”字样,解决方法:

linux下,当使用unrar 解压命令解压来自 windows下压缩的rar 文件时:

unrar x rar文件名

问题表现:

rar压缩文件内的文件名如果是英文,解压后显示正常。如果带有中文,解压缩时中文变成乱码,乱码文件名后面带有(无效的编码)字样。如下图所示:

问题原因:

rar文件在win系统创建,文件名默认使用gb2312编码,而gb2312字符编码在linux下用unrar软件解压后,没有正确解码中文。linux下默认的字符(中文也是一类字符)编码方式是UTF-8。

解决方法:

需要用转码工具convmv进行文件名转码

ubuntu/debian 系统下需要先安装 convmv软件:

sudo apt-get install convmv


然后转码当前目录下的文件名乱码文件名为linux下正常显示的文件名:

convmv * -f gb2312 -t utf8 –notest

注意:

由于unrar的这段处理是2014年之前的情况和解决经验。后来unrar软件版本可能有更新,近几年随着linux系统对中文的支持越来越好,这个rar的问题可能不容易发生了。 如果仍遇到这样的问题,不妨用本文提到的方法解决看。

加好友请备注:chinaoss
您可以在微信公众号联系我们
我们将24小时内回复。
取消