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

由于zip格式中并没有指定编码格式,windows下生成的zip文件中的编码是gbk/gb2312等,因此,导致这些zip文件在linux下解压时出现乱码问题,因为linux下的默认编码是utf8。

目前网上流传一种unzip -O cp936的方法,但一些unzip是没有-O这个选项的。

我使用的版本 unzip 6.0 debian modified 版本有这个选项

因为编码问题,zip文件中的中文文件在linux下解压会出现乱码

如果你使用archlinux那么使用AUR安装unzip-natspec就可以解决这个问题

这个时候,使用unzip xxx.zip就可以正确解压文件

然后在file-roller归档管理器中操作,中文名称依然是乱码,据说是因为file-roller优先使用p7zip

删除p7zip后问题解决

小文AI论文 小文AI论文

轻松解决论文写作难题,AI论文助您一键完成,仅需一杯咖啡时间,即可轻松问鼎学术高峰!

小文AI论文 69 查看详情 小文AI论文

然而我还想同时能够使用p7zip软件包,谁知道这个问题如何解决?

从这里下载代码研究,发现这样的逻辑

    /* give priority to 7z, unzip and zip that supports ZIP files better. */if ((strcmp (mime_type, "application/zip") == 0)|| (strcmp (mime_type, "application/x-cbz") == 0))    {if (_g_program_is_available ("7z", check_command)) {return capabilities;        }if (!_g_program_is_available ("unzip", check_command)) {            capabilities |= FR_ARCHIVE_CAN_READ;        }if (!_g_program_is_available ("zip", check_command)) {            capabilities |= FR_ARCHIVE_CAN_WRITE;        }return capabilities;    }

这里是写死的,看起来除了给代码打补丁是没什么好办法了

最后的解决办法,发现AUR中同样存在类似的软件包p7zip-natspec

安装这个包应该就可以完美的解决问题吧,因为我已经使用上面的方法解决了问题,就不试这个了

以上就是linux下zip文件解压乱码该如何解决?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/560426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月10日 00:46:19
下一篇 2025年11月10日 00:46:54

相关推荐

发表回复

登录后才能评论
关注微信