sshlinux乱码
A. 用 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"
这时,中文输入和显示都正常了。
B. linux登录界面显示中文乱码,怎么解决
根据一位知乎大佬的回答,Linux内核的显示渲染引擎不支持中文。SSH客户端之所以能够正常显示中文,这是因为显示渲染由SSH客户端实现的。
C. 解决客户端连接Linux服务器中文显示乱码问题
客户端连接Linux服务器中文显示乱码,如下图所示:
字符乱码问题 :如果服务器本身支持中文,只是客户端显示乱码,通常就是
客户端字符集与服务器字符集不一致造成的。把客户端字符集改成服务器字符集就可以解决的。但是像 SSHSecureShellClient-3.2.9.exe 客户端没有设置字符集的地方,就需要把字符集改为zh_CN.GB18030才能正确显示中文:
export LC_CTYPE=zh_CN.GB18030
export LC_ALL=zh_CN.GB18030
export LANG=zh_CN.GB18030
设置完就解决了客户端连接Linux系统中文显示乱码的问题。
注:每次使用客户端连接Linux服务器时,都需要手动改一下字符集。
D. linux命令界面经常出现乱码如何解决,如下图。
如果是图形界面下的虚拟终端,设置(根据不同的 shell 修改不同的环境参数配置文件,如 bash 就修改 .bashrc 文件或 .bash_profile 文件)
exportLANG=zh_CN.UTF-8
如果是远程登录(比如使用 ssh 登录),则根据你的客户端的环境进行设置,一个可能的方案是:
exportLANG=zh_CN.GB18030
locale 看看你的当前是什么语言显示
然后
vi/etc/sysconfig/i18n
一般情况下linux服务器都是配置utf-8,不使用中文的。
E. SSH工具连接CentOS linux时,中文显示乱码,怎么解决在不改变操作系统编码的情况下可以实现吗
你可以在SSH工具里面设置一下你的编码方式。
比如SecureCRT工具,设置方式如下:
Options-> Session options->Appearance-> Character encoding
把它设置为UTF-8。
这样在SSH上就可以正确显示中文了。