㈠ 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上就可以正确显示中文了。