㈠ SSH遠程連接linux時出現中文亂碼
如果安裝的是centos7最小化安裝,指令locale一下,查出來的編碼格式是UTF-8;而SSH客戶端的編碼是GBK的,這個遠程工具不能修改本地編碼,所以連接Linux的時候就會出現中文亂碼問題;因為是最小安裝,那麼在/etc/sysconfig下是沒有i18n這個國際化的文件,那麼在/etc/sysconfig下是沒有i18n這個國際化的文件,
在系統的預處理文件中聲明,這樣對整個系統起作用:
#vi /etc/profile
在文件尾加入
LC_ALL=」zh_CN.GBK「
export LANG=」zh_CN.GBK「
在用戶的預處理文件中聲明,對單獨的用戶起作用,下面是root用戶的示例
#vi /root/.bash_profile
在文件尾加入
export LC_ALL=」zh_CN.GBK「
export LANG=」zh_CN.GBK「
顯示當前編碼格式為gbk就表示修改完成了
㈡ 用 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"
這時,中文輸入和顯示都正常了。
㈢ SSH工具連接CentOS linux時,中文顯示亂碼,怎麼解決在不改變操作系統編碼的情況下可以實現嗎
你可以在SSH工具裡面設置一下你的編碼方式。
比如SecureCRT工具,設置方式如下:
Options-> Session options->Appearance-> Character encoding
把它設置為UTF-8。
這樣在SSH上就可以正確顯示中文了。