如何解決Ubuntu環(huán)境下解壓中文顯示亂碼問(wèn)題? Ubuntu解壓中文亂碼的多種解決辦法

夢(mèng)回剛讀大學(xué)時(shí)折騰KDE。Linux固有諸多不可替代的優(yōu)勢(shì),然而總能在編碼、IO之類的小問(wèn)題上搞點(diǎn)無(wú)傷大雅但需要手動(dòng)解決的“尷尬”。
Windows壓縮文件時(shí),默認(rèn)以系統(tǒng)編碼中文來(lái)處理。由于zip文件中沒(méi)有聲明編碼,所以 Linux上的unzip解壓中文文件名會(huì)出現(xiàn)亂碼,有三種方式解決問(wèn)題:
通過(guò)unzip命令解壓,指定字符集參數(shù)
unzip -O GBK filename.zip
也可以嘗試將參數(shù)GBK
替換為CP936
、GB18030
有趣的是unzip的manual中并無(wú)這個(gè)選項(xiàng)的說(shuō)明,unzip --help對(duì)這個(gè)參數(shù)有一行簡(jiǎn)單的說(shuō)明。
配置環(huán)境變量,總以指定的字符集處理文件
在文件/etc/environment中加入兩行
UNZIP="-O GBK"ZIPINFO="-O GBK"
使用The Unarchiver項(xiàng)目提供的lsar/unar工具。
安裝:sudo apt-get install unar
使用:unar filename.zip
解壓用unar工具,轉(zhuǎn)碼用enca。
sudo apt install unar enca
轉(zhuǎn)碼腳本encoding.sh
#!/bin/bash #將文件編碼更改為UTF-8 #用法 #1. 將文件命名encoding.sh #2. chmod +x encoding.sh #3. ./set_encoding.sh #4. 輸入目錄名稱 #5. 輸入是否遞歸更改 #$1表示是否要遞歸修改文件編碼 function change_file_encoing(){ for file in $(ls -l|awk '{print $9}') do if [[ -d "$file" && $1 = y ]];then cd $file echo $file change_file_encoing $1 cd .. elif [[ -f "$file" ]];then echo $file enca -L zh_CN -x UTF-8 $file fi; done; #ecna -L zh_CN file UTF-8 } read -p "please enter the dir path:" path #讀取目錄路徑 if [ ! -x "$path" ]; #判斷目錄是否存在且是否具有執(zhí)行權(quán)限 then echo "dir path not exists" else read -p "please enter if you want to recursive?y/n:" recur #是否遞歸 fi if [ $recur == "y" ]; then cd $path change_file_encoing "y" #遞歸修改文件編碼 else cd $path change_file_encoing "n" #非遞歸修改 fi
至此,可以批量用find,grep組合命令查找匹配中文。
使用p7zip解壓
安裝p7zip-full
$sudo apt-get install p7zip-full
卸載unzip
$sudo apt-get remove unzip
再下載更新的p7zip-full包把原來(lái)的程序替換掉/usr/lib/p7zip/
$sudo tar xzvf p7z-bin.tar.gz -C /usr/lib/p7zip
使用鎖定p7zip、p7zip-rar和p7zip-full版本(防止更新后失效)
1) 安裝新立得軟件管理器 sudo apt-get install synaptic(如果已經(jīng)安裝可以略過(guò))
2) 打開(kāi)新立得軟件包管理器,搜索p7zip
3) 在搜索出的結(jié)果中,選擇p7zip、p7zip-rar和p7zip-full,再點(diǎn)擊軟件包 -> 設(shè)置 -> 鎖定版本
相關(guān)文章
ubuntu21.04怎么安裝軟件? ubuntu安裝軟件的三種方式
ubuntu21.04怎么安裝軟件?ubuntu系統(tǒng)中想要安裝軟件,該怎么怎么安裝軟件呢?下面我們就來(lái)分享ubuntu安裝軟件的三種方式,需要的朋友可以參考下2021-04-20ubuntu20.04系統(tǒng)中apt無(wú)法補(bǔ)全命令怎么辦?
ubuntu20.04系統(tǒng)中apt無(wú)法補(bǔ)全命令怎么辦?ubuntu20.04中使用apt安裝軟件,卻發(fā)現(xiàn)不能自動(dòng)補(bǔ)全命令,需要自己完全打出來(lái),該怎么辦呢?下面我們就來(lái)看看詳細(xì)的解決辦法,需2021-04-21ubuntu20.04與win10雙系統(tǒng)怎么設(shè)置默認(rèn)啟動(dòng)win10配置?
ubuntu20.04與win10雙系統(tǒng)怎么設(shè)置默認(rèn)啟動(dòng)win10配置?電腦安裝了雙系統(tǒng),但是ubuntu系統(tǒng)很多游戲不能安裝,想要開(kāi)啟啟動(dòng)win10系統(tǒng),該怎么設(shè)置呢?下面我們就來(lái)看看詳細(xì)的2021-04-22ubuntu20.04怎么設(shè)置開(kāi)機(jī)引導(dǎo)grub? 開(kāi)機(jī)進(jìn)入引導(dǎo)菜單選擇界面的方法
ubuntu20.04怎么設(shè)置開(kāi)機(jī)引導(dǎo)grub?ubuntu20.04系統(tǒng)默認(rèn)開(kāi)機(jī)直接就進(jìn)入系統(tǒng)可以看到自己的桌面,但是想要實(shí)現(xiàn)開(kāi)機(jī)進(jìn)入引導(dǎo)菜單編輯界面,該怎么設(shè)置呢?下面我們就來(lái)看看詳2021-04-22ubuntu21.04怎么創(chuàng)建桌面快捷圖標(biāo)? ubuntu軟件放到桌面的技巧
ubuntu21.04怎么創(chuàng)建桌面快捷圖標(biāo)?在windows系統(tǒng)中用習(xí)慣了桌面快捷圖標(biāo),想要給虛擬機(jī)ubuntu21.04中的軟件放到桌面上來(lái),該怎么操作呢?下面我們就來(lái)看看詳細(xì)的教程,需2021-04-30ubuntu21.04五筆輸入法怎么用? ubuntu21.04配置五筆輸入法的技巧
ubuntu21.04五筆輸入法怎么用?ubuntu21.04中想要使用五筆輸入中文,該怎么設(shè)置呢?下面我們就來(lái)看看ubuntu21.04配置五筆輸入法的技巧,需要的朋友可以參考下2021-05-01ubuntu21.04不能播播放rmvb文件怎么辦? ubuntu播放rmvb視頻的技巧
ubuntu21.04不能播播放rmvb文件怎么辦?ubuntu21.04在播放視頻的時(shí)候,發(fā)現(xiàn)不能播放rmvb格式的,該怎么辦呢?下面我們就來(lái)看看ubuntu播放rmvb視頻的技巧,詳細(xì)請(qǐng)看下文介紹2021-05-06ubuntu21.04錄屏工具無(wú)法使用怎么辦? ubuntu錄屏工具的用法
ubuntu21.04錄屏工具無(wú)法使用怎么辦?ubuntu21.04系統(tǒng)在使用藍(lán)屏工具的時(shí)候,發(fā)現(xiàn)不能使用,該怎么辦呢?下面我們就來(lái)看看ubuntu錄屏工具的用法,需要的朋友可以參考下2021-05-08ubuntu21.04系統(tǒng)怎么自定義分區(qū)安裝?
ubuntu21.04系統(tǒng)怎么自定義分區(qū)安裝?自定義的空閑的分區(qū)進(jìn)行安裝的好久就是不用把文件拷貝出來(lái)了,下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2021-05-08ubuntu系統(tǒng)怎么查看版本? Linux查看系統(tǒng)版本信息的技巧
ubuntu系統(tǒng)怎么查看版本?ubuntu系統(tǒng)想要看看版本號(hào),在哪里查看呢?查看方法和我們常用的windows系統(tǒng)不同,下面我們就來(lái)看看Linux查看系統(tǒng)版本信息的技巧,詳細(xì)請(qǐng)看下文介2021-05-28