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