1. 程式人生 > 其它 >解決Ubuntu下zip檔案解壓後中文亂碼問題

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