Linux 下 zip 文件解压乱码如何解决?

 我来答
吉祥二进制
高粉答主

2016-05-24 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84577

向TA提问 私信TA
展开全部

1、这是zip格式的缺陷,zip文件格式中没有字段标志出文件名的编码格式。Windows下生成的zip文件中的编码是GBK/GB2312等,而linux下的默认编码格式为UTF-8,所以才会出现乱码。


2、解决方法

1、使用unzip解压的时候,指定字符集(需要unzip支持,有些unzip命令不支持大O选项,自己可以安装较新的unzip版本):

md5@crc4:~/$ unzip -O CP936 test.zip

2、借助于p7zip和convmv:

a、在Fedora下的命令是 

su -c 'yum install p7zip convmv'

b、在ubuntu下的安装命令是

sudo apt-get install p7zip convmv

安装完之后,就可以用7za和convmv两个命令完成解压缩任务。

LANG=C 7za x your-zip-file.zip
convmv -f GBK -t utf8 --notest -r .

说明:

1)、第一条命令用于解压缩,而LANG=C表示以US-ASCII这样的编码输出文件名,如果没有这个语言设置,它同样会输出乱码,只不过是UTF8格式的乱码(convmv会忽略这样的乱码)。

2)、第二条命令是将GBK编码的文件名转化为UTF8编码,-r表示递归访问目录,即对当前目录中所有文件进行转换。



 

百度网友ac5b271
2016-05-03 · TA获得超过127个赞
知道小有建树答主
回答量:282
采纳率:40%
帮助的人:84万
展开全部
windows上的压缩,不要放到linux来解压. LINUX用的是gzip ,bz
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星语最萌
2022-02-25 · TA获得超过691个赞
知道小有建树答主
回答量:484
采纳率:65%
帮助的人:62.3万
展开全部
网上找了很多,都有点麻烦,下面只需要一个命令即可。
我们本地压缩一般是GBK,而linux默认是UTF-8,导致中文乱码,解压如下:
linux解压命令:unzip -O CP936 ***.zip
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式