這是SSH Secure Shell Client多年未解決的短板,要求用戶端和伺服器端都要‘UTF-8’編碼,Windows中文版的編碼是非UTF-8。zh_CN.UTF-8是UTF編碼的中文語言環境。
Windows使用的是GB2312編碼,大多數linux系統支援的是UTF-8編碼,而遠程登陸時使用的是本地編碼,所以會出現亂碼的問題;現有幾種解決方案:
方案一:修改linux伺服器的環境變數
使用linux,在使用者根目錄下有一個.bash_profile設定檔,該配置只對目前使用者有效.若對所有的使用者有效,修改/etc/profile檔案
使用ls -a命令可以查看到該檔案.使用vi編輯器開啟該檔案後,在其中加入
LANG=zh_CN.GB2312export LANG即可正常顯示中文.更改.bash_profile設定檔後,該檔案內容如下:# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then . ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/binLANG=zh_CN.GB2312export PATH
export LANG
unset USERNAME
方案二:或使用其他遠程登陸軟體,並修改配置,將字元編碼設定為UTF-8。
PS:遠程登陸軟體 命令列介面putty,Cterm,SecureCRT,含FTP功能的有Filezilla,Secure Shell Client,圖形介面的有Xming,XShell,Xmanager等
下面以Putty和SecureCRT為例。
修改SecureCRT設定:選項(Options)->會話選項(Session Options)->外觀(Appearance)->字元(Character),選擇UTF-8。
putty選擇配置視窗左邊的Windows—— Translation,在右邊的 Received data assumed to be in which character set 下拉式清單中選擇“UTF-8”