sshlinux亂碼
A. 用 Mac OS X 自帶的 SSH 登陸 linux 後出現中文亂碼,如何解決
這種情況一般是終端和伺服器的字元集不匹配,MacOSX下默認的是utf8字元集。
輸入locale可以查看字元編碼設置情況,而我的對應值是空的。
因為我在本地和伺服器都用zsh替代了bash,而且使用了oh-my-zsh,而默認的.zshrc沒有設置為utf-8編碼,所以本地和伺服器端都要在.zshrc設置,步驟如下,bash對應.bash_profile或.bashrc文件。
1.在終端下輸入
vim ~/.zshrc
或者使用其他你喜歡的編輯器編輯~/.zshrc文件
<!--more-->
2.在文件內容末端添加:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
接著重啟一下終端,或者輸入source ~/.zshrc使設置生效。
設置成功的話,在本地和登錄到伺服器輸入locale回車會顯示下面內容。
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
這時,中文輸入和顯示都正常了。
B. linux登錄界面顯示中文亂碼,怎麼解決
根據一位知乎大佬的回答,Linux內核的顯示渲染引擎不支持中文。SSH客戶端之所以能夠正常顯示中文,這是因為顯示渲染由SSH客戶端實現的。
C. 解決客戶端連接Linux伺服器中文顯示亂碼問題
客戶端連接Linux伺服器中文顯示亂碼,如下圖所示:
字元亂碼問題 :如果伺服器本身支持中文,只是客戶端顯示亂碼,通常就是
客戶端字元集與伺服器字元集不一致造成的。把客戶端字元集改成伺服器字元集就可以解決的。但是像 SSHSecureShellClient-3.2.9.exe 客戶端沒有設置字元集的地方,就需要把字元集改為zh_CN.GB18030才能正確顯示中文:
export LC_CTYPE=zh_CN.GB18030
export LC_ALL=zh_CN.GB18030
export LANG=zh_CN.GB18030
設置完就解決了客戶端連接Linux系統中文顯示亂碼的問題。
註:每次使用客戶端連接Linux伺服器時,都需要手動改一下字元集。
D. linux命令界面經常出現亂碼如何解決,如下圖。
如果是圖形界面下的虛擬終端,設置(根據不同的 shell 修改不同的環境參數配置文件,如 bash 就修改 .bashrc 文件或 .bash_profile 文件)
exportLANG=zh_CN.UTF-8
如果是遠程登錄(比如使用 ssh 登錄),則根據你的客戶端的環境進行設置,一個可能的方案是:
exportLANG=zh_CN.GB18030
locale 看看你的當前是什麼語言顯示
然後
vi/etc/sysconfig/i18n
一般情況下linux伺服器都是配置utf-8,不使用中文的。
E. SSH工具連接CentOS linux時,中文顯示亂碼,怎麼解決在不改變操作系統編碼的情況下可以實現嗎
你可以在SSH工具裡面設置一下你的編碼方式。
比如SecureCRT工具,設置方式如下:
Options-> Session options->Appearance-> Character encoding
把它設置為UTF-8。
這樣在SSH上就可以正確顯示中文了。