window 下zip压缩包,在Linux解压后中文乱码问题

今天在批量处理windos文件时为了方便操作,将windos下面的文件夹打成zip包上传至centos7中解压处理,发现解压后中文文件名变成了乱码,如下图,经过一番百度终于找到了问题所在,记录一下。

 

现象解析

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

所以问题的解决方法及时在unzip解压的时候指定编码格式。我这里提供两种方法,

  1. 解压时指定编码格式
    #指定编码格式为GBK GB18030也是可以的,这里采用网上流行的解决方法
    
    unzip -O cp936 tianbo.zip
    
    或者:
    
    unzip -O gbk xxx.zip
    
  2. 配置环境变量指定unzip的参数

    在环境变量中指定unzip参数,这样的话unzip将总是以指定字符集显示和解压文件。在/etc/environment中加入两行参数

    # vim /etc/environment
    UNZIP="-O CP936"
    ZIPINFO="-O CP936"

    解压之后能正常显示中文文件名,如下图

     

参考:

https://blog.51cto.com/ning235/2507825?source=dra
posted @ 2022-10-20 23:41  码农编程进阶笔记  阅读(1649)  评论(0)    收藏  举报
返回顶部 有事您Q我