这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要‘UTF-8’编码,Windows中文版的编码是非UTF-8。zh_CN.UTF-8是UTF编码的中文语言环境。
Windows使用的是GB2312编码,大多数linux系统支持的是UTF-8编码,而远程登陆时使用的是本地编码,所以会出现乱码的问题;现有几种解决方案:
以下方案一存在一定风险,切勿在生产环境中乱改linux的语言环境变量,尤其是root,个人觉得语言环境变量会影响到一些软件的启动和运行。
方案一:修改linux服务器的环境变量
使用linux,在用户根目录下有一个.bash_profile配置文件,该配置只对当前用户有效.若对所有的用户有效,修改/etc/profile文件
使用ls -a命令可以查看到该文件.使用vi编辑器打开该文件后,在其中加入
LANG=zh_CN.GB2312
export LANG
根据【鸟哥的linux私房菜】中无需重启或注销即可使配置生效的方法如下
修改完毕后,回到命令行输入:
source .bash_profile或. .bash_profile (两个点中间有空格)
重新加载一次配置
但是,在修改回到乱码的状态,重新加载无效,需要退出ssh工具的本次连接,重新连接一次linux系统,就会发现又回到中文乱码的状态了 ^_^
来源:oschina
链接:https://my.oschina.net/u/2982739/blog/803800