解決linux ssh 亂碼的解決方法:1、修改linux伺服器的環境變數;2、使用遠端登入軟體修改配置,並將字元編碼設定為UTF-8即可。
本文操作環境:linux5.9.8系統、Dell G3電腦。
怎麼解決linux ssh 亂碼問題?
SSH訪問linux 亂碼問題
SSH Secure Shell Client中文亂碼的解決方法
這是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.GB2312 export LANG
即可正常顯示中文.更改.bash_profile 設定檔後,該檔案內容如下:(我使用的是這個方法!)
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin LANG=zh_CN.GB2312 export 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」
#
另一篇文章:SSH Secure Shell Client中文亂碼的解決方案
說這是SSH Secure Shell Client多年未解決的短板,要求客戶端和伺服器端都要'UTF-8'編碼,恩恩,這下我終於知道Windows中文版的編碼居然是非UTF-8了。
意思是我不換作業系統,就無法使用這個東東了?
於是乎,解決辦法似乎只有兩個。
1,換系統。
2,使用Putty:http://filezilla-project.org/download.php?type=client
當然,如果需要SFTP,可以使用filezilla,包含了一個小巧的伺服器端和FTP功能。
就是安裝起來麻煩點...
後來找到根本的解決辦法,只知道方法,不知原因。
#vi /etc/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="lat0-sun16"
推薦學習:《linux影片教學》
以上是怎麼解決linux ssh 亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!