雲伺服器:解決linux下zip檔案解壓亂碼問題
雲伺服器:解決linux下zip檔案解壓亂碼問題
原因
由於zip格式並沒有指定編碼格式,Windows下生成的zip檔案中的編碼是GBK/GB2312等,因此,導致這些zip檔案在Linux下解壓時出現亂碼問題,因為Linux下的預設編碼是UTF8。
解決方案一
使用7z解壓。
安裝p7zip和convmv
# fedora $ su -c 'yum install p7zip convmv' # ubuntu $ sudo apt-get install p7zip convmv
執行一下命令解壓縮
# 使用7z解壓縮 $ 7za x your-zip-file.zip # 遞迴轉碼 $ convmv -f GBK -t utf8 --notest -r .
解決方案二
在windows上壓縮的檔案,是以系統預設編碼中文來壓縮檔案。由於zip檔案中沒有宣告其編碼,所以linux上的unzip一般以預設編碼解壓,中文檔名會出現亂碼。
雖然2005年就有人把這報告為bug, 但是info-zip的官方網站沒有把自動識別編碼列入計劃,可能他們不認為這是個問題。Sun對java中存在N年的zip編碼問題,採用了同樣的處理方式。
有2種方式解決問題:
1. 透過unzip行命令解壓,指定字符集
unzip -O CP936 xxx.zip (用GBK, GB18030也可以)
有趣的是unzip的manual中並無這個選項的說明, unzip --help對這個引數有一行簡單的說明。
2. 在環境變數中,指定unzip引數,總是以指定的字符集顯示和解壓檔案
/etc/environment中加入2行
UNZIP="-O CP936" ZIPINFO="-O CP936"
這樣Gnome桌面的歸檔檔案管理器(file-roller)可以正常使用unzip解壓中文,但是file-roller本身並不能設定編碼傳遞給unzip。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69948194/viewspace-2664743/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux下zip檔案解壓亂碼的問題Linux
- linux下解壓部分zip檔案存在亂碼解決辦法Linux
- 關於解壓zip檔案的問題
- linux下解壓.gz檔案、.cpio檔案、zip檔案Linux
- 雲伺服器中文亂碼問題解決伺服器
- Unix 下批量解壓zip檔案
- 用java解壓zip檔案的中文問題Java
- 新手教程:如何在 Linux 下解壓 Zip 檔案Linux
- 解決網站搬家windows下解壓圖片檔名亂碼問題的利器:Bandizip網站Windows
- Linux 解壓zip檔案詳解之unzip命令!Linux
- 解決excel開啟.csv檔案亂碼問題Excel
- Mac系統下的zip壓縮包解壓到Windows下出現亂碼的解決方法MacWindows
- TongWeb下亂碼問題解決思路Web
- ZipArchive解壓縮zip檔案Hive
- 7zip 解壓問題
- 解決PHP匯出CSV檔案中文亂碼問題PHP
- Java 讀檔案寫檔案 韓文 中文 亂碼問題解決方案Java
- Windows下Eclipse工程移到Linux下亂碼問題解決WindowsEclipseLinux
- Ubuntu 系統解壓亂碼問題Ubuntu
- 解決在PUTTY下Linux顯示亂碼的問題Linux
- 引入外部js檔案導致亂碼問題解決方案JS
- Android 下載Zip檔案,並解壓到本地Android
- 解決SSH亂碼問題
- 解決中文亂碼問題
- Linux科研武器庫 - 檔案壓縮與解壓縮 - zip / unzipLinux
- 使用zlib庫解壓zip檔案
- Linux下zip壓縮和unzip解壓縮命令全解Linux
- linux下解壓rar檔案Linux
- 解決java web中safari瀏覽器下載後檔案中文亂碼問題JavaWeb瀏覽器
- MySql中文亂碼問題解決MySql
- Jmeter 解決中文亂碼問題JMeter
- Java 解決中文亂碼問題Java
- RDSSQLSERVER解決中文亂碼問題SQLServer
- 解決MySQL中文亂碼問題MySql
- MYSQL亂碼問題解決方法MySql
- 【Salesforce問題解決】Dataloader匯出的檔案亂碼或者問號的解決辦法Salesforce
- linux 解壓rar,zipLinux
- Linux中文亂碼問題終極解決方法Linux