问题说明
在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。
问题解决
方法1
unzip -O CP936 xxx.zip (用GBK, GB18030也可以)
方法2
在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件
/etc/environment中加入2行
UNZIP="-O CP936"
ZIPINFO="-O CP936"
这样Gnome桌面的归档文件管理器(file-roller)可以正常使用unzip解压中文,但是file-roller本身并不能设置编码传递给unzip。