解决客户端连接Linux服务器中文显示乱码问题

解决客户端连接Linux服务器中文显示乱码问题,第1张

客户端连接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服务器时,都需要手动改一下字符集。

问题:使用一台Linux系统的机器,终端总是显示有乱码,不是中文乱码,看起来像是英文乱码,我这强迫症又受不了了

解决方案:

Linux字符编码默认为UTF-8,如果出现英文乱码有可能是系统设置的编码方式为GBK。

设置locale的根本就是设置一组总共12个LC开头的变量,不包括LANG和LC_ALL。

优先 级:LC_ALL >LC_* >LANG

可以看出原系统设置的为中文字体显示和运行的语言环境,所有的设置都是使用的 zh_CN.gbk ,因中英文字符编码方式不同,可能造成英文字符或者空格显示有乱码。

5.退出后再次查看locale(再次登录才生效)

乱码的字符消失了。locale转变为:

这种情况一般是终端和服务器的字符集不匹配,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"

这时,中文输入和显示都正常了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7628361.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存