linux下zip文件解压乱码问题的解决办法教程

本篇文章主要介绍了解决linux下zip文件解压乱码问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624
商祺云-阿里代理、景安代理、西部代理

原因

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

解决方案一

使用7z解压。

安装p7zip和convmv

# fedora
$ su -c 'yum install p7zip convmv'
# ubuntu
$ sudo apt-get install p7zip convmv

执行一下命令解压缩

# 使用7z解压缩
$ LANG=C 7za x your-zip-file.zip
# 递归转码
$ convmv -f GBK -t utf8 --notest -r .

解决方案二

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

虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。

有2种方式解决问题:

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

unzip -O CP936 xxx.zip (用GBK, GB18030也可以)

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

2. 在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件

/etc/environment中加入2行

UNZIP="-O CP936"
ZIPINFO="-O CP936"

这样Gnome桌面的归档文件管理器(file-roller)可以正常使用unzip解压中文,但是file-roller本身并不能设置编码传递给unzip。

以上就是linux下zip文件解压乱码问题的解决办法分享的详细内容,更多请关注学派吧其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/2933.html

赞 (0)
打赏 微信扫一扫 微信扫一扫
上一篇 2019年1月4日 下午8:42
下一篇 2019年1月4日 下午8:42

相关推荐

  • 幻兽帕鲁windows腾讯云服务器快捷部署教程

    想要部署属于自己的幻兽帕鲁服务器(Dedicated Server),您首先需要拥有一台服务器,服务器是幻兽帕鲁运行的基础。部署完成后,您和您的朋友便可以登入专属的游戏服进行体验。使用云服务器搭建幻兽帕鲁服务器,便可以让您与您的朋友在一个相对独立且私密的空间中进行游戏,确保获得更加畅快的游戏体验。 您可以选择腾讯云轻量应用服务器作为游戏服务器,并按照下面教程…

    2024年1月24日
    4.2K10
  • Linux7如何设置静态IP的方法教程-学派吧

    这篇文章主要介绍了Centos Linux7设置静态IP的实例的相关资料,需要的朋友可以参考下 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624商祺云-阿里代理、景安代理、西部代理 Centos Linux7设置静态IP的实例 ## 先进入配置文件的放置位置: cd /etc/sysconfig/network-scripts…

    服务器运维 2019年1月4日
    2.4K00
  • 腾讯云linux系统 initramfs 或 initrd 损坏/丢失

    现象描述 执行命令或系统启动的过程中,出现 VFS: Unable to mount root fs on unknow-block 或者 error:file ‘/boot/initramfs-`uname -r`.img’ not found 等报错信息。 可能原因 1. 系统启动失败,输出 VFS: Unable to moun…

    2024年10月11日
    2.8K00
  • ECS云服务器如何禁用公网IP-linux运维-学派吧

    本篇文章给大家带来的内容是关于ECS云服务器如何禁用公网IP,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 ECS云服务器如何禁用公网IP Linux关闭外网网卡的方法 首先使用ifconfig查看下公网的IP对应的网卡名称,这里查看到对应的是 eth1,然后使用 ifdown eth1 即可,然后测试 ping 下公网IP,无法 ping…

    服务器运维 2018年11月21日
    3.1K00
  • linux-centos7 安全优化运维教程-学派吧

    前言 centos 越来越普及了,通过一些面板很多小白都可以使用centos、但是安全方面却不行、今天学派吧整理下 centos安全相关的资料 发布出来、供小白学习、 设置 1 修改网卡为eth0 2 更新系统 3 给/etc/rc.local添加执行权限 4 添加用户hequan 5 禁用selinux 6 关闭防火墙安装iptables 7 修改主机名 …

    2018年10月8日
    3.6K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部