Ubuntu18.04 解壓zip文件亂碼的解決方法


在Ubuntu的系統下解壓zip文件的時候居然出現了亂碼,通過查找網上的資料,解決的辦法有兩種

一、通過unzip行命令解壓,指定字符集,由於zip格式中並沒有指定編碼格式,Windows下生成的zip文件中的編碼是GBK/GB2312等,因此,導致這些zip文件在Linux下解壓時出現亂碼問題,因為Linux下的默認編碼是UTF8。目前網上流行的是unzip -O cp936的方法,但一些linux發行版unzip是沒有-O這個選項的。Ubuntu 12.04后續版本是有的。
命令格式:
------------------------------------------------------------
pipci@Ubuntu:~$ unzip -O CP936 xxx.zip

下面這兩個參數也行
unzip -O GBK
unzip -O GB18030
------------------------------------------------------------

二、通過unar命令最簡單

1、安裝unar軟件
-----------------------------------------------
root@Ubuntu:~# apt install unar
-----------------------------------------------

2、命令格式:
-------------------------------------------------------------------------------------------------------
pipci@Ubuntu:~$ unar xxx.zip                        #不需要加參數,自動識別編碼
-------------------------------------------------------------------------------------------------------


3.unar常用選項解釋

參數[-o]
解釋:指定解壓結果保存的位置
~$ unar test.zip -o /home/dir/

參數[-e]
解釋:指定編碼
~$ unar -e GBK test.zip

參數[-p]
解釋:指定解壓密碼
~$ unar -p 123456 test.zip

4、列出壓縮包內容

~$ lsar  xxx.zip


二、在環境變量中,指定unzip參數,總是以指定的字符集顯示和解壓文件
/etc/environment中加入2行

------------------------------------------------

UNZIP="-O CP936"
ZIPINFO="-O CP936"

------------------------------------------------

這樣Gnome桌面的歸檔管理器(file-roller)可以正常使用unzip解壓中文,但是如果系統里面有p7zip軟件,需要先刪除p7zip,據說是因為file-roller優先使用p7zip,但是file-roller本身並不能設置編碼傳遞給unzip。MATE桌面環境的歸檔管理器(Engrampa)需要依賴p7zip,刪除p7zip的同時也會歸檔管理器,可以安裝其他歸檔管理器。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM