[Linux] 解决终端显示乱码问题

【背景】vim

公司弄了两台新的虚拟机,用来将原先都部署在一台机器上的JIRA, Fisheye, Confluence迁移到这两台机器上,使用SecureCRT进行登陆,使用相关命令时,一台出现乱码,另一台正常显示,使用vim时,也是同样,因此来总结总结乱码问题的解决方法。bash

【解决】服务器

1. 两台相关截图运维

第一台 第二台

2. 在网上找到方法说是须要修改/etc/sysconfig/i18n,比较两台机器上的这个文件内容,发现乱码机器为空,非乱码机器为以下:工具

#LANG="zh_CN.UTF-8"
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="latarcyrheb-sun16"

3. 按照网上查到的相关资料代表确实是须要修改此文件,修改之编码

vim /etc/sysconfig/i18n

  修改以后,发现无法更新,我使用的sysadmin登陆的,查看文件权限:spa

  这样种办法只能找到root账号,再进行更新,咱们这种账号不可能给出来,只能找运维部门解决。3d

4. 继续搜索,有贴子里提到这么一句话“远程工具与服务器的字符集是否同样”,想着我使用的是SecureCRT进行的登陆,因此尝试着修改一下工具的字符集,找到以下设置:code

  

  修改这里的字符编码,使用locale查看本机字符编码以下:blog

  

  修改终端字符编码为UTF-8,最终编码显示正常,和另外一台机器同样

总结

再次进行资料搜集以后,总结乱码以下解决办法:

0. 查看远程工具与服务器的字符集是否同样

1. 修改/etc/sysconfig/i18n:

#LANG="zh_CN.UTF-8"
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="latarcyrheb-sun16"

2. 修改~/.bash_profile文件,并执行source ~/.bash_profile(在不重启系统的状况下使新环境变量生效):

LANG="zh_CN.GB18030"

3. 在bash环境下直接执行:

export LANG=zh_CN.GB18030
相关文章
相关标签/搜索