windows文件中的中文在ubuntu下亂碼(小弟參考了許多都不行,這個絕對行啊) .

ubuntu默認的打開.txt文件用的是gedit,可gedit默認編碼是UTF8,打開windows下編輯的gb2312的文檔都是亂碼。解決方法之一就是把gedit的編碼改爲GB2312,方法如下:


在Applications菜單上點右鍵,選擇EditMenu.在MainMenu的對話框中勾選SystemTools-ConfigurationEditor,並從Applications菜單中開啓。

依次開啓/apps/gedit-2/preferences/encodings/雙擊右側auto_detected,在彈出對話框中點選Add,添加Values值爲GB2312,確定後選中,點選Up按鈕將其移至第一位。

同樣方法,對show_in_menu進行設置,並將GB2312置於首位。

還有一種方法是用openoffice打開.txt文件時,會讓你選擇編碼,選GB2312就行了。


***********************************************
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


**********************************************
Ubuntu 中文編碼設置
今天開始把工作環境全部遷移到Linux,一天下來,算平靜。很慶幸當初在win下面用了MozillaThunderbird郵件客戶端,而不是OutLook,這簡直太方便了,可以直接把上百兆的郵件存放目錄複製到linux下直接用,與之形成鮮明對比的是微軟的新版live Messager,今天發現微軟的這個東西甚至不支持安裝在他們自己的WinXP64/Wind2003/2008上面?我沒有什麼可說的呢。


    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),繞了地球一圈才找到,猛發現文章作者就坐在我旁邊,以後再找東西先問問,別瞎跑。


轉自:http://blog.csdn.net/cybernewer/article/details/4223886

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章