一、解決linux中文亂碼問題
通過xmanager遠程訪問linux(我這裡使用RedHat as5),原先本機可以看到的中文出現亂碼(ssh終端訪問時也是亂碼)。如何解決這一問題?
其實,很簡單只要設置系統字符集就行。具體如下:
1、修改/etc/sysconfig/i18n文件(注意做好備份,最好不要刪除原系統內容,可以用#注釋掉)
2、原文件內容如下:
#LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.UTF-8:zh_CN.GB18030:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN.GB18030:zh-CN:zh:en_US.UTF-8:en_US:en"
SYSFONT=*lat0-sun16
3、修改後內容如下:
#LANG="zh_CN.UTF-8"
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.UTF-8:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN.UTF-8:zh-CN:zh:en_US.UTF-8:en_US:en"
SYSFONT=*lat0-sun16
4、重新啟動系統
簡單解釋一下,LANG變量是language的簡稱,決定系統的默認語言的,即系統的菜單、程序的工具欄語言、輸入法默認語言等;SYSFONT是system font的簡稱,決定系統默認用哪一種字體;SUPPORTED變量決定系統支持的語言,即系統能夠顯示的語言。
二、可能引起的問題
如果修改後,個別已經安裝的軟件可能後出現一些莫名奇妙的問題,如:java開發的一些應用程序中原先配置文件中有中文使用utf-8編碼,但是現在系統字符集變成了gb18030,再次運行java程序時jvm會使用現有系統字符集將導致程序出錯。
最簡單的解決方法就是,在運行前臨時改變當前字符集。具體操作如下:
1、同一終端模式下: LANG="en_US.UTF-8" (根據具體字符集決定)
2、同一終端模式下: 可運行的程序或腳本