Centos7 unzip文件名中文乱码

时间:2021-06-08 04:58:01

Centos7 unzip文件名中文乱码

前言

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

Centos7 unzip文件名中文乱码

现象解析

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

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

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

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

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

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

    Centos7 unzip文件名中文乱码