Centos7 unzip文件名中文乱码
前言
今天在批量处理windos文件时为了方便操作,将windos下面的文件夹打成zip包上传至centos7中解压处理,发现解压后中文文件名变成了乱码,如下图,经过一番百度终于找到了问题所在,记录一下。
现象解析
zip格式中并没有指定编码格式,windows下生成的zip文件中的编码是GBK/GB2312等,因此导致这些自拍文件在linux系统中解压时出现乱码问题,因为linux系统中默认的编码是UTF8。
所以问题的解决方法及时在unzip解压的时候指定编码格式。我这里提供两种方法,
- 解压时指定编码格式
#指定编码格式为GBK GB18030也是可以的,这里采用网上流行的解决方法 unzip -O cp936 tianbo.zip
- 配置环境变量指定unzip的参数
在环境变量中指定unzip参数,这样的话unzip将总是以指定字符集显示和解压文件。在/etc/environment中加入两行参数
# vim /etc/environment
UNZIP="-O CP936"
ZIPINFO="-O CP936"解压之后能正常显示中文文件名,如下图