unzip解压中文乱码
1 问题描述
直接
unzip xxx.zip
乱码,肯定是编码问题了不用问。但是unzip没有指定编码的选项:
网上的解决方案如下:
unzip -O GBK/GB18030CP936 xx.zip
但是没有-O选项啊。
2 解决办法
解决办法是安装unzip-iconv,笔者系统为manjaro,直接安装会提示会与unzip冲突:
unzip-iconv是一个补丁,但是好像没被官方接纳,比如Ubuntu下的unzip是带-O的,Archlinux与CentOS下默认没带,安装unzip-iconv即可,也可以在保留unzip的基础上打上unzip-iconv补丁包,参照这里。
安装后,可以先指定编码列出看看:
unzip -O gbk -l xxx.zip
这里编码可以用小写,有一个小的bug是,先写-O选项的话,后面的压缩包文件名补全不了,目前笔者还没有找到好的解决办法(不知道你们的会不会这样,反正笔者的补全不了),所以,先-l补全写上文件,再移动到前面加上-O选项。
列出文件没问题的话,解压就行了:
unzip -O gbk -d folder xxx.zip
-d指定解压目录,如果没加目录的话,直接unzip会把所有文件解压到当前目录。