在Ubuntu下解压zip文件,解压后文件名都是乱码比如╡┌4╒┬╩╡└²-╖╓╬÷╜ß╣√.txt
原因是Windows和Ubuntu下的编码方式不同,导致文件解压出现文件名乱码。
解决方案:
方法一:
安装7zip和convmv:
sudo apt-get install p7zip-full convmv
安装完成之后,使用如下命令进行解压:
LANG=C 7za x file.zip
convmv -f GBK -t utf8 --notest -r .
第一条命令用于解压缩,而LANG=C表示以US-ASCII这样的编码输出文件名,如果没有这个语言设置,它同样会输出乱码,只不过是UTF8格式的乱码(convmv会忽略这样的乱码)。第二条命令是将GBK编码的文件名转化为UTF8编码,-r表示递归访问目录,即对当前目录中所有文件进行转换。
方法二:
使用如下命令:
unzip -O cp936 file.zip
大功告成!
感谢Latm Ake,Fwolf等提供的解决方案