SSH访问linux 乱码问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH访问linux 乱码问题相关的知识,希望对你有一定的参考价值。

     这是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" 


































以上是关于SSH访问linux 乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

LINUX SSH显示中文乱码,如何解决?

SSH远程连接Linux时出现中文乱码

mac用ssh连接linux云服务器中文乱码或无法显示解决

ssh secure shell client中文乱码

设置SecureCRT配色和解决乱码问题

ssh远程连接linux下的MySQL数据库字符集和防止乱码