Ubuntu 中文编码设置
Ubuntu 默認采用UTF8編碼,可以方便global。但對中文支持,還不細致,即便默認采用中文安裝,也并不會自動添加GB*等支持,致使在Ubuntu下訪問部分Win文本文件時,出現亂碼。
I. 配置系統環境
執行 sudo vi /var/lib/locales/supported.d/zh
加入以下配置參數
zh_CN.GB18030 GB18030 (最新漢字編碼字符集,向下兼容GBK,GB2312)
zh_CN.GBK GBK (漢字擴展編碼,向下兼容GB2312, 并包含BIG5全部漢字)
zh_CN.GB2312 GB2312 (簡化漢字編碼字符集, 最近有客戶要我們改進GB2312,太看得起我們了,我只能說:"NO!")
zh_CN.GB18031 GB18031 (數字鍵盤漢字編碼輸入,面向手持設備,我的Nokia3120從來就是發短信,接聽電話,無法和PC通訊,就不用這個了。maybe用Google Android SDK的大俠們需要這個)
zh_HK.BIG5 BIG5 (繁體)
zh_TW.BIG5 BIG5 (繁體)
然后執行 sudo locale-gen
提示以下信息,成功了
zh_CN.GB18030... done
zh_CN.GBK... done
......
II. 系統環境支持GB*內碼了,但用vi, gedit等工具訪問文件還會繼續亂碼,需要針對不同的工具分別配置,使之自己檢測支持范圍內的編碼
e.g. vi
執行 sudo vi /etc/vim/vimrc
加入以下配置參數
let &termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk,gb2312,big5
e.g. gedit
執行 sudo gconf-editor
選擇 apps/gedit-2/preferences/encodings
找到 auto_detected 編輯,在Values中分別加入 GB18030,GBK,GB2312,BIG5
OK~
感謝lec的支援。
enca工具很方便,用于檢測文件內碼(前提是系統環境支持,如,環境不支持BIG5,是無法檢測的,這個暈了我許久)
安裝 sudo apt-get install enca
用法 enca filename
這個工具是在google搜索到的(http://blog.oolec.com/?p=79),繞了地球一圈才找到,猛發現文章作者就坐在我旁邊,以后再找東西先問問,別瞎跑。
-----------------------------
其他參考:
首先說一下, 這篇文章主要是針對 Java 開發者的, 如果是做 Windows 開發, 那么基本上沒有辦法把工作環境移植到 Ubuntu 上的(當然也不能說死, 也許以后可以使用 WINE 試試, 呵呵).
1.系統默認編碼
我們知道在中文 Windows 下一般來說系統的默認編碼是 GBK, 從 Java 開發的角度來說, 就是在進行諸如 Java 源代碼編譯, 文件讀寫等操作時, 默認使用的編碼是 GBK; 而我們參照一般的 Ubuntu 中文安裝文檔, 可能會建議將默認的語言設置為 zh_CN.UTF-8, 這樣會帶來一些問題, 比如我在 Windows 使用 Eclipse 時的編輯器的默認編碼是 GBK, 但是在 Ubuntu 下面就是 UTF-8, 同樣是使用 Eclipse, 在 Windows 下的中文文檔到了 Ubuntu 中會產生亂碼, 必須手工逐個文檔設置屬性中的編碼為 GBK 才可以正常; 一些測試代碼也是以默認編碼讀取文件的, 這些代碼讀取出來的文件內容也會包含亂碼.
所以, 最好是將系統的默認編碼設置為 GBK, 這樣和 Windows 下面的開發環境最接近. 設置的方法應該不止一種, 我采用的是編輯 /etc/environment, 改成這個樣子:
LANGUAGE="zh_CN:zh:en_US:en"
GST_ID3_TAG_ENCODING=GBK
LANG=zh_CN.GBK
LC_CTYLE=zh_CN.GBK
2.中文字體
Ubuntu 5.10 默認安裝后的中文字體不是點陣字體, 因此在小字顯示的時候模模糊糊比較難看, 而且, 在瀏覽網頁時, 無法顯示中文粗體. 關于字體美化的文章網上太多了, 有些是采用 Windows 字體來進行的; 最近 "文泉驛"(http://wqy.sourceforge.net/ ) 的開源點陣字體受到很多好評, 而且點陣字體正好合適用于小字的顯示, 我用的是最新的 0.7 beta 版(0.6.9 pcf update 3), 按照 文泉驛點陣宋體安裝指南 上的步驟安裝, 修改了 xorg.conf, 也執行了 fc-cache -f -v , 安裝過程還算順利, 就是有一點需要注意, 那就是字體一定要放在 /usr/share/fonts/ 的子目錄下面, 不然執行 fc-cache 不會起作用的. 安裝完畢后需要配置一下系統的默認字體, Firefox 也需要配置一下字體, 效果還是不錯的(見下面截圖).
3.Java(Swing)程序的字體
這個我主要參考了 最簡單的對JDK1.5的中文亂碼處理方法 , 按照其中更簡單的那個方法, 在 $JAVA_HOME/jre/lib/fonts/ 目錄下創建 fallback 目錄, 并把一個中文的 TTF 字體鏈接或者安裝到 fallback 目錄下就可以了.
和參考文章說的稍有差別, 我是下載了文泉驛 0.6.9 ttf update 3 的 TTF 字體, 直接解壓后復制到 fallback 目錄下, 接著執行 mkfontdir 和 mkfontscale, 果然問題得以解決; 現在 NetBeans 或者 JMeter 的 "打開" 文件對話框中的按鈕和標簽就正確顯示出中文了.
安裝在 Ubuntu 上面的 NetBeans 5.0:
存在中文問題的"打開項目"對話框:
經過處理后可以正確顯示中文的對話框:
總結
以上是生活随笔為你收集整理的Ubuntu 中文编码设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Java实现批量下载网络图片
- 下一篇: 1281