缺省配置下,用 Ubuntu 的文本編輯器(gedit)打開(kāi) GB18030/GBK/GB2312 等類(lèi)型的中文編碼文本文件時(shí),將會(huì)出現(xiàn)亂碼。
出現(xiàn)這種情況的原因是,gedit 使用一個(gè)編碼匹配列表,只有在這個(gè)列表中的編碼才會(huì)進(jìn)行匹配,不在這個(gè)列表中的編碼將顯示為亂碼。您要做的就是將 GB18030 加入這個(gè)匹配列表。
* 命令行方式,適用於所有 Ubuntu 用戶(hù)。
複製以下命令到終端中,然後回車(chē)即可:
gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected "[UTF-8,CURRENT,GB18030,BIG5-HKSCS,UTF-16]"
* 圖形化方式,適用於 Ubuntu 用戶(hù),而不適用於 KUbuntu/XUbuntu 用戶(hù)。
您可以遵循以下步驟,使您的 gedit 正確顯示中文編碼文件。
1. 按下 Alt-F2,打開(kāi)“運(yùn)行應(yīng)用程序”對(duì)話框。
2. 在文本框中鍵入“gconf-editor”,並按下回車(chē)鍵,打開(kāi)“配置編輯器”。
3. 展開(kāi)左邊的樹(shù)節(jié)點(diǎn),找到 /apps/gedit-2/preferences/encodings 節(jié)點(diǎn)並單擊它。
4. 雙擊右邊的 auto_detected 鍵,打開(kāi)“編輯鍵”對(duì)話框。
5. 單擊列表右邊的“添加”按鈕,輸入“GB18030”,單擊確定按鈕。
6. 列表的最底部新增加了一個(gè)“GB18030”。單擊選中它,並單擊右邊的 “向上” 按鈕直到 “GB18030” 位於列表的頂部為止。
7. 單擊確定按鈕,關(guān)閉配置編輯器。
現(xiàn)在,您的 gedit 應(yīng)該能夠順利打開(kāi) GB18030 編碼的文本文件了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
關(guān)于Ubuntu中編碼不能自動(dòng)識(shí)別,打開(kāi)GB2312或GBK編碼的文件總是亂碼的問(wèn)題網(wǎng)上有很多相關(guān)的文章,多也好用。但對(duì)于vi中文亂碼的問(wèn)題,網(wǎng)上很多辦法似乎都無(wú)效,其中《vim中編輯不同編碼的文件時(shí)需要注意的一些地方》一文從原理上對(duì)編碼的問(wèn)題進(jìn)行了解釋。不過(guò),最實(shí)際的還是CSDN Blog上的一篇文章,現(xiàn)轉(zhuǎn)載如下:
Ubuntu 默認(rèn)采用UTF8編碼,可以方便global。但對(duì)中文支持,還不細(xì)致,即便默認(rèn)采用中文安裝,也并不會(huì)自動(dòng)添加GB*等支持,致使在Ubuntu下訪問(wèn)部分Win文本文件時(shí),出現(xiàn)亂碼。
I. 配置系統(tǒng)環(huán)境
執(zhí)行 sudo vi /var/lib/locales/supported.d/zh
加入以下配置參數(shù)
zh_CN.GB18030 GB18030 (最新漢字編碼字符集,向下兼容GBK,GB2312)
zh_CN.GBK GBK (漢字?jǐn)U展編碼,向下兼容GB2312, 并包含BIG5全部漢字)
zh_CN.GB2312 GB2312 (簡(jiǎn)化漢字編碼字符集, 最近有客戶(hù)要我們改進(jìn)GB2312,太看得起我們了,我只能說(shuō):”NO!”)
zh_CN.GB18031 GB18031 (數(shù)字鍵盤(pán)漢字編碼輸入,面向手持設(shè)備,我的Nokia3120從來(lái)就是發(fā)短信,接聽(tīng)電話,無(wú)法和PC通訊,就不用這個(gè)了。 maybe用Google Android SDK的大俠們需要這個(gè))
zh_HK.BIG5 BIG5 (繁體)
zh_TW.BIG5 BIG5 (繁體)
然后執(zhí)行 sudo locale-gen
提示以下信息,成功了
zh_CN.GB18030… done
zh_CN.GBK… done
……
II. 系統(tǒng)環(huán)境支持GB*內(nèi)碼了,但用vi, gedit等工具訪問(wèn)文件還會(huì)繼續(xù)亂碼,需要針對(duì)不同的工具分別配置,使之自己檢測(cè)支持范圍內(nèi)的編碼
e.g. vi
執(zhí)行 sudo vi /etc/vim/vimrc
加入以下配置參數(shù)
let &termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk,gb2312,big5
e.g. gedit
執(zhí)行 sudo gconf-editor
找到 /apps/gedit-2/preferences/encodings/auto_detected 在Values中分別加入 GB18030,GBK,GB2312,BIG5
把GB18030放到第一位。
感謝lec的支援。
enca工具很方便,用于檢測(cè)文件內(nèi)碼(前提是系統(tǒng)環(huán)境支持,如,環(huán)境不支持BIG5,是無(wú)法檢測(cè)的,這個(gè)暈了我許久)
安裝 sudo apt-get install enca
用法 enca filename
/////////////////////////////////////////////////////////////////////////
在Ubuntu的字符界面下,經(jīng)常在有中文的地方出現(xiàn)亂碼。經(jīng)過(guò)不斷搜索與嘗試,現(xiàn)在總結(jié)一下Ubuntu下增加中文字符編碼的方法。
一. Ubuntu默認(rèn)的中文字符編碼
Ubuntu默認(rèn)的中文字符編碼為zh_CN.UTF-8,這個(gè)可以在/etc/environment中看到:
sudo gedit /etc/environment
可以看到如下內(nèi)容:
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games”
LANG=”zh_CN.UTF-8″
LANGUAGE=”zh_CN:zh:en_US:en”
第二行即是默認(rèn)的中文字符編碼。注:可以通過(guò)這里修改默認(rèn)的中文編碼字符,比如修改為:zh_CN.GBK。
二. 添加中文字符編碼的方法
1. 直接使用locale-gen
在超級(jí)終端輸入命令:
sudo locale-gen zh_CN.GB18030
即可完成中文字符集的添加。完成后可以轉(zhuǎn)到/usr/lib/locale/,下面已經(jīng)有一個(gè)zh_CN.gb18030文件夾;在超級(jí)終端輸入命令:gedit /var/lib/locales/supported.d/local,可以發(fā)現(xiàn)文件中多了一行:zh_CN.GB18030 GB18030。說(shuō)明添加成功。
2. 輸入下面命令增加GBK支持:
sudo locale-gen zh_CN.GBK
即可生成相應(yīng)文件:/usr/lib/locale/zh_CN.gbk/
不過(guò),他文中解決vi的辦法似乎是針對(duì)vim的,對(duì)于vi我試了一下依然無(wú)效的樣子
====================================
今天(2010/06/28)發(fā)現(xiàn)一解決辦法:
輸入如下命令即可正常顯示
:edit ++enc=gbk
可簡(jiǎn)寫(xiě)為
:e ++enc=gbk
其中g(shù)bk為文本的正確編碼。雖然麻煩了一點(diǎn),但至少可以正常顯示了
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。