解決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
把GB18030放到第一位。


感謝lec的支援。
enca工具很方便,用於檢測文件內碼(前提是系統環境支持,如,環境不支持BIG5,是無法檢測的,這個暈了我許久)
安裝 sudo apt-get install enca
用法 enca filename

 

另外,解決evince (ubuntu自帶的Document Viewer)中文亂碼:sudo apt-get install poppler-data

/////////////////////////////////////////////////////////////////////////

在Ubuntu的字符界面下,經常在有中文的地方出現亂碼。經過不斷搜索與嘗試,現在總結一下Ubuntu下增加中文字符編碼的方法。
一. Ubuntu默認的中文字符編碼
Ubuntu默認的中文字符編碼為zh_CN.UTF-8,這個可以在/etc/environment中看到:
sudo gedit /etc/environment
可以看到如下內容:
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"
第二行即是默認的中文字符編碼。注:可以通過這里修改默認的中文編碼字符,比如修改為:zh_CN.GBK。

二. 添加中文字符編碼的方法
1. 直接使用locale-gen
在超級終端輸入命令:
sudo locale-gen zh_CN.GB18030
即可完成中文字符集的添加。完成后可以轉到/usr/lib/locale/,下面已經有一個zh_CN.gb18030文件夾;在超級終端輸入命令:gedit /var/lib/locales/supported.d/local,可以發現文件中多了一行:zh_CN.GB18030 GB18030。說明添加成功。

2. 輸入下面命令增加GBK支持:
sudo locale-gen zh_CN.GBK
即可生成相應文件:/usr/lib/locale/zh_CN.gbk/

 

三.gvim在中文ubuntu 10中無法顯示菜單

 

添加以下語句

set langmenu=zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
到/etc/vim/gvimrc.local文件里面

 

解決gvimrc中文問題的完整/etc/vim/gvimrc.local文件內容如下:

let &termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk
set langmenu=zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM