Linux下亂碼問(wèn)題的解決方案小結(jié)
linux系統(tǒng)中文件名內(nèi)容為urf8編碼, windows系統(tǒng)中文件名默認(rèn)為gbk編碼, 多數(shù)文檔使用gbk編碼,系統(tǒng)采用utf8編碼
無(wú)中文輸入法導(dǎo)致的亂碼
1、ibus輸入法
Ubuntu 系統(tǒng)安裝后已經(jīng)自帶了ibus輸入法,在英語(yǔ)環(huán)境下默認(rèn)不啟動(dòng)。配置ibus自動(dòng)啟動(dòng)可以在ubuntu系統(tǒng)菜單上選擇System --- Preferences --- Startup Applications,在該窗口中增加一個(gè)程序:
Name: ibus-daemon Command: ibus-daemon -d -x -r
ibus默認(rèn)提供的中文輸入法比較弱智,需要額外安裝ibus-pinyin,命令如下:
sudo apt-get install ibus-pinyin
這時(shí),還需要將ibus-pinyin輸入法啟動(dòng)。在ubuntu系統(tǒng)菜單上選擇System --- Preferences --- IBus Preferences,在Input Method頁(yè)中的“Select an input method”下拉框中選擇增加Chinese – Pinyin,就是圖標(biāo)中有個(gè)一個(gè)大大的“拼”字的那一個(gè),然后點(diǎn)擊Add按鈕,最后通過(guò)Up按鈕將該輸入法移動(dòng)到最上面。系統(tǒng)重啟后,通過(guò)Ctrl + 空格即可調(diào)出ibus輸入法。ibus輸入法總體來(lái)說(shuō)不錯(cuò),但是在我的環(huán)境下發(fā)現(xiàn)無(wú)法在部分Java程序中調(diào)出來(lái),例如Netbeans、OpenProj。
2、fcitx輸入法
由于ibus的缺陷,所以我嘗試了fcitx,使用下來(lái)也非常不錯(cuò),而且可以在Java程序中正常使用,只是在這種情況下光標(biāo)跟隨有些問(wèn)題,輸入界面會(huì)停 留在屏幕最下端,但是可以接受,比起ibus不能使用要好多了。
安裝fcitx:
sudo apt-get install fcitx
啟動(dòng)fcitx:
im-switch -s fcitx
注銷(xiāo)后重新登錄,fcitx就會(huì)生效。如果需要切換回ibus,可以運(yùn)行im-switch -s ibus,然后注銷(xiāo),重新登錄。fcitx同樣可以通過(guò)Ctrl + 空格調(diào)出,這時(shí)會(huì)發(fā)現(xiàn)fcitx顯示的中文是方框,因此需要修改fcitx的配置。Fcitx的配置文件在~/.fcitx/config,該文件為 GBK編碼,在Ubuntu下顯示不正常,可以通過(guò)如下方式操作:
cd ~/.fcitx iconv -f gbk -t utf8 config > config.tmp
編輯config.tmp文件:
顯示字體(中)=WenQuanYi Micro Hei
顯示字體大小=10
使用粗體=0
保存退出,然后運(yùn)行命令:
iconv -f utf8 -t gbk config.tmp > config
注銷(xiāo)后重新登錄,fcitx顯示正常。
對(duì)于搜狗輸入候選字亂碼問(wèn)題,先運(yùn)行
sudo apt-get install fcitx-module-kimpanel
然后注銷(xiāo)或者重啟,一般就可以了
utf8 和 UTF-8 有什么區(qū)別
“UTF-8”是標(biāo)準(zhǔn)寫(xiě)法,在windows下邊英文不區(qū)分大小寫(xiě),所以也可以寫(xiě)成“utf-8”。“UTF-8”也可以把中間的“-”省略,寫(xiě)成“UTF8”。一般程序都能識(shí)別,但也有例外(如下文),為了嚴(yán)格一點(diǎn),最好用標(biāo)準(zhǔn)的大寫(xiě)“UTF-8”。只有在MySQL中可以使用“utf-8”的別名“utf8”,但是在其他地方一律使用大寫(xiě)“UTF-8”。
網(wǎng)頁(yè)上Flash中的中文顯示為方框的解決辦法
編輯/etc/fonts/conf.d/49-sansserif.conf文件,作如下修改:
<edit name="family" mode="append_last"> <string>WenQuanYi Micro Hei</string> </edit>
Java程序部分中文顯示為方框的解決辦法
在$JAVA_HOME/jre /lib/fonts目錄下建立fallback目錄,將中文字體文件復(fù)制(或link)到fallback目錄。
sudo mkdir $JAVA_HOME/jre/lib/fonts/fallback sudo ln /usr/share/fonts/truetype/wqy/wqy-microhei.ttc $JAVA_HOME/jre/lib/fonts/fallback/
“GBK亂碼”,參考
亂碼的樣子類(lèi)似:
à??ü òá??à3?£???1,°2à??ü òá??à3?£???1
解決方法:
convmv -r -f utf8 -t iso88591 --notest --nosmart * && convmv -r -f gbk -t utf8 --notest --nosmart * # 把亂碼文件名文件復(fù)制在一個(gè)空目錄里運(yùn)行(這樣錯(cuò)了也不怕):
“ascii亂碼”參考
亂碼的樣子類(lèi)似:
%E5%8C%BB%E4%BF%9D
解決方法:
1.使用uni2ascii 代碼:echo 亂碼原文 | ascii2uni -a J
2.安裝nautilus-filename-repairer0.06(官方有源碼,但是依賴問(wèn)題,我還沒(méi)安裝成功,而0.05版與現(xiàn)在的nautilus有點(diǎn)小小的合作障礙,只能看不能改名)
3.用chromeplus-1.3.3.1下載(因?yàn)檫@類(lèi)亂碼主要在用ff(默認(rèn)utf8)下載qq群里的文件之后產(chǎn)生,用chromeplus(默認(rèn)GBK)下就沒(méi)問(wèn)題了)
另外,至于文件里面內(nèi)容的亂碼問(wèn)題可以搜索enca.
解決Rhythmox亂碼問(wèn)題:
安裝Rhythmox:sudo apt-get install rhythmbox
安裝mid3iconv:sudo apt-get install python-mutagen
mid3iconv -h
Clementine亂碼問(wèn)題
安裝mid3iconv:sudo apt-get install python-mutagen
mid3iconv -h
Clementine不支持utf8,需要吧所有的mp3歌曲轉(zhuǎn)換為gbk格式,wma好像不用轉(zhuǎn)就可以
mid3iconv -e gbk *.mp3(由于不能帶-r參數(shù),所以要依次進(jìn)入每個(gè)文件夾)
另外clementine采用gstreamer作為后端,需要安裝gstreamer插件:
如果想支持mp3,需要安裝gstreamer-0.10-plugins-bad和gstreamer-0.10-plugins-ugly
如果想支持wma,需要安裝gstreamer-0.10-ffmpeg
如果想支持mms流媒體,需要安裝gstreamer plugins for mms
另外Clementine基于Amarok,所以支持Amarok的插件一般都支持Clementine,比如osdlyrics。
轉(zhuǎn)換文件內(nèi)容編碼:
file -i <file name> 檢測(cè)文件編碼 iconv --help
轉(zhuǎn)換文件名編碼
sudo apt-get install convmv convmv --help convmv -f gbk -t utf8 -r --notest files convmv -r -f utf8 -t iso88591 * --notest --nosmart && convmv -r -f gbk -t utf8 * --notest --nosmart
解決gedit亂碼問(wèn)題:
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']"
gsettings set org.gnome.gedit.preferences.encodings shown-in-menu "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']"
解決PDF中文亂碼:
sudo apt-get install poppler-data
解決rar文件亂碼
使用rar
解壓zip文件亂碼
最近碰到這個(gè)問(wèn)題,網(wǎng)上搜了一圈,都是什么unzip -O,一點(diǎn)用都沒(méi)有,這些哥們估計(jì)是直接復(fù)制,用都沒(méi)用過(guò)。后來(lái)找了個(gè)終極方法,用python的腳本來(lái)解壓,試了下,還真管用?。?!以下為python腳本的代碼,新建文件jieya.py,寫(xiě)入以下代碼:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import zipfile
print "Processing File " + sys.argv[1]
file=zipfile.ZipFile(sys.argv[1],"r");
for name in file.namelist():
utf8name=name.decode('gbk')
print "Extracting " + utf8name
pathname = os.path.dirname(utf8name)
if not os.path.exists(pathname) and pathname!= "":
os.makedirs(pathname)
data = file.read(name)
if not os.path.exists(utf8name):
fo = open(utf8name, "w")
fo.write(data)
fo.close
file.close()
然后zip文件跟jieya.py放在同一級(jí)目錄,運(yùn)行命令python jieya.py file.zip,哦了!
smplayer 中文字幕亂碼解決方法
打開(kāi)選項(xiàng)-》首選現(xiàn):選擇字幕選項(xiàng)卡。
找到“默認(rèn)字符編碼”選項(xiàng),在下拉框中選擇“簡(jiǎn)體中文(cp936)”
再打開(kāi)“字體”頁(yè)卡(上邊),選擇“系統(tǒng)字體”在下拉選框中選擇一種簡(jiǎn)體中文字體,如 Weu Quanyi Zen Hei 等。
VLC播放器顯示文件名亂碼
初選項(xiàng)中修改一種支持中文的字體
以上所述是小編給大家介紹的Linux下亂碼問(wèn)題的解決方案小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
ubuntu20.04 LTS系統(tǒng)默認(rèn)源sources.list文件的修改
這篇文章主要介紹了ubuntu20.04 LTS系統(tǒng)默認(rèn)源sources.list文件的修改,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
每天一個(gè)linux命令(30): chown命令詳解
本篇文章主要介紹了linux chown命令。chown將指定文件的擁有者改為指定的用戶或組,感興趣的朋友可以了解一下。2016-11-11
Linux 內(nèi)核通用鏈表學(xué)習(xí)小結(jié)
本篇文章主要介紹了Linux 內(nèi)核通用鏈表學(xué)習(xí)小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Linux中進(jìn)程和線程的對(duì)比與區(qū)別
這篇文章主要介紹了Linux中進(jìn)程和線程的對(duì)比與區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-07-07
Apache啟動(dòng)錯(cuò)誤Permission denied: httpd: could not open error log
這篇文章主要介紹了Apache啟動(dòng)錯(cuò)誤Permission denied: httpd: could not open error log file解決方法,需要的朋友可以參考下2014-07-07

