unzip解壓中文亂碼 氷泠的部落格

2022-09-22 23:18:20 字數 580 閱讀 2123

1 問題描述

直接unzip ***.zip亂碼,肯定是編碼問題了不用問。但是unzip沒有指定編碼的選項:網上的解決方案如下:

unzip -o gbk/gb18030cp936 xx.zip但是沒有-o選項啊。

2 解決辦法

解決辦法是安裝unzip-iconv,筆者系統為manjaro,直接安裝會提示會與unzip衝突:

unzip-iconv是乙個補丁,但是好像沒被官方接納,比如ubuntu下的unzip是帶-o的,archlinux與centos下預設沒帶,安裝unzip-iconv即可,也可以在保留unzip的基礎上打上unzip-iconv補丁包,參照這裡。安裝後,可以先指定編碼列出看看:

unzip -o gbk -l ***.zip這裡編碼可以用小寫,有乙個小的bug是,先寫-o選項的話,後面的壓縮包檔名補全不了,目前筆者還沒有找到好的解決辦法(不知道你們的會不會這樣,反正筆者的補全不了),所以,先-l補全寫上檔案,再移動到前面加上-o選項。列出檔案沒問題的話,解壓就行了:

unzip -o gbk -d folder ***.zip-d指定解壓目錄,如果沒加目錄的話,直接unzip會把所有檔案解壓到當前目錄。

Linux下使用unzip解壓縮中文亂碼問題

我的linux 裝了 unzip。沒有裝就執行 yum install unzip 即可 原因是unzip試圖將zip檔案中用 oem ibm dos codepage 編碼的檔名轉換成自己的內部編碼。可惜unzip只能轉換極少數幾種codepage,中文的 cp936 不在其列。方法一 unzip...

unzip解壓中文難亂碼問題,親測有效

在zip標準中,對檔名的 encoding 用的不是 unicode,而可能是各種軟體根據系統的預設字符集來採用 此為猜測 因此zipfile中根據檔案 flag 檢測的時候,只支援 cp437 和 utf 8。具體就是查詢 zipfile.py 源 找到下面的 1 if flags 0x800 2...

Ubuntu 使用unzip解壓亂碼的問題

由於win使用的是gbk編碼,在win下打包zip的壓縮檔案在ubuntu下使用unzip解壓會出現亂碼的問題。解決方案 換軟體,不用unzip,使用unar 18.04是預設安裝的,如果沒有預設安裝可以使用 sudo apt get install unar 這個命令安裝。1.列出壓縮包的內容 l...