解决Ubuntu下zip文件解压后中文乱码问题

解决Windows文件在Ubuntu解压后文件名出现乱码的问题

在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等提供的解决方案