在Ubuntu支持中文后(方法見上篇文章),默認是UTF-8編碼,而Windows中文版默認是GBK編碼。為了一致性,通常要把Ubuntu的默認 編碼改為GBK。當然你也可以不改,但這會導致我們在兩個系統之間共享文件變得非常不方便,Samba共享的文件也總會有亂碼出現。總不能每次傳完文件都 人肉轉碼一次吧。
ubuntu轉碼需要分為幾個部分分別進行:
1. 系統級
Ubuntu默認是不支持GBK的。這里若不更改,則后續步驟均無法生效。
添加中文字符編碼:
- $sudo vim /var/lib/locales/supported.d/local
#添加下面的中文字符集
- zh_CN.GBK GBK
- zh_CN.GB2312 GB2312
- zh_CN.GB18030 GB18030
使其生效:
- $sudo dpkg-reconfigure locales
2. vim
雖然Ubuntu已經支持GBK了,但默認的輸入/顯示方式仍然是UTF-8,要想改變就需要我們逐一去設定。VIM首當其沖。
打開vim的配置文件,位置在/etc/vim/vimrc
在其中加入
- set fileencodings=utf-8,gb2312,gbk,gb18030
- set termencoding=utf-8
- set encoding=gbk
保存退出
- source /etc/vim/vimrc
此時vim就能正確顯示中文了。
--------------------------------------------------------------'
3. 讓Terminal默認GBK
雖然VIM已經能夠編寫/打開GBK文件,但cat <filename>時我們發現仍然是亂碼。此時我們需要更改Terminal的默認編碼方式。
在terminal面板上選擇菜單欄中的termianl-->set character encoding-->add or remove,然后在左側選擇GB2312或GBK,添加到右側,關閉。
然后在terminal面板上的 termianl-->set character encoding選定增加的中文編碼,然后就可以正常顯示中文了。
4. pdf
- $sudo apt-get install xpdf-chinese-simplifiedxpdf-chinese-traditional #安裝pdf的中文字體
- $sudo apt-get install poppler-data #安裝解決pdf中文顯示亂碼的軟件
- $cd /etc/fonts/conf.d
- $sudo cp 49-sansserif.conf 49-sansserif.conf_backup #先備份下
- $sudo rm 49-sansserif.conf #刪除
在打開pdf文件,就能呢個正常顯示中文了
5. gedit
缺省配置下,用 Ubuntu 的文本編輯器(gedit)打開 GB18030/GBK/GB2312 等類型的中文編碼文本文件時,將會出現亂碼。
出現這種情況的原因是,gedit 使用一個編碼匹配列表,只有在這個列表中的編碼才會進行匹配,不在這個列表中的編碼將顯示為亂碼。您要做的就是將 GB18030 加入這個匹配列表。
命令行方式,適用於所有 Ubuntu 用戶。
復制以下命令到終端中,然后回車即可:
gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected "[UTF-8,CURRENT,GB18030,BIG5-HKSCS,UTF-16]"
圖形化方式,適用於 Ubuntu 用戶,而不適用於 KUbuntu/XUbuntu 用戶。
您可以遵循以下步驟,使您的 gedit 正確顯示中文編碼文件。
按下 Alt-F2,打開“運行應用程序”對話框。
在文本框中鍵入“gconf-editor”,並按下回車鍵,打開“配置編輯器”。
展開左邊的樹節點,找到 /apps/gedit-2/preferences/encodings 節點並單擊它。
雙擊右邊的 auto_detected 鍵,打開“編輯鍵”對話框。
單擊列表右邊的“添加”按鈕,輸入“GB18030”,單擊確定按鈕。
列表的最底部新增加了一個“GB18030”。單擊選中它,並單擊右邊的 “向上” 按鈕直到 “GB18030” 位於列表的頂部為止。
單擊確定按鈕,關閉配置編輯器。
gedit3.x版本設置
終端輸入dconf-editor
展開org/gnome/gedit/preferences/encodings
auto-detected的value中加入’GB18030′,加在uft8后面;
show-in-menu的value中加入’GB18030′
現在,您的 gedit 應該能夠順利打開 GB18030 編碼的文本文件了。
gedit 3.X版本命令設置:gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8','GB18030','GB2312','GBK','BIG5','CURRENT','UTF-16']"
6. 中文文件名亂碼轉換
因為以前使用zh_CN.GB* 現在使用zh_CN.UTF-8,所以文件名編碼有問題。
convmv -f gbk -t utf-8 -r --notest /filePath
參考:
http://blog.csdn.net/zbunix/article/details/8948139