解決戶端連線CentOS系統亂碼問題

netlayer123發表於2013-04-24

使用CentOS系統的時候,經常會遇到ssh客戶端連線CentOS系統亂碼問題,這次我們就來針對這個問題提出個解決方案。

CentOS系統配置完成後,正常能顯示中文,檢視後發現支援utf-8字符集。
而putty和ssh secure shell連線卻發現亂碼,主要表現為執行vim亂碼,su命令亂碼。
使用$ locale命令檢視,出現如下:
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

解決方案:
1. 對於putty0.6版本
a.修改CentOS系統上/ect/sysconfig/i18n內容為:LANG="zh_CN.UTF-8"
b.修改putty的configuration視窗內windows->Appearance->font setting為新宋體,10號字。
修改Translation的Receive data assumed to be in which character set為:
UTF-8。(因為下來列表中沒有中文字符集,GB2312或cp936)。
這樣修改完成後,putty就正常支援中文顯示了。

2.對於ssh secure shell版本。
a.將配置的字型改成宋體,但是還是亂碼,
b.修改CentOS系統的/ect/sysconfig/i18n內容為:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
---以上內容是網上找到了,照著寫了。
發現連線ssh secure shell可以正常顯示中文。
用$ locale檢視,上面看到的配置都變成了GB18030編碼了
但是又用putty連線,卻又變成了亂碼,我理解因為putty仍然用的是utf8編碼,
而配置ssh secure shell時,將CentOS系統改成gb18030編碼了,所以亂碼。
c.到伺服器上,重新啟動了CentOS系統,發現顯示中文也正常。

3. 如果發現ssh secure shell有問題,或相關的引起問題,則重新配置putty使用,
配置方案可以參考上述配置。

結論:
因為ssh secure shell視窗符合window顯示,所以暫時定為使用ssh secure shell客戶端。
而其也繫結了ftp上傳功能,相對方便。
變化:考慮建立mysql等多處使用utf-8編碼,所有仍然使用putty客戶端,系統編碼改成utf-8

相關文章