zoukankan      html  css  js  c++  java
  • [Linux] 解决终端显示乱码问题

    【背景】

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

    【解决】

    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登录的,查看文件权限:

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

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

      

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

      

      修改终端字符编码为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
  • 相关阅读:
    数组的处理
    bootstrap 列的排序
    bootstrap 偏移
    mysql数据库创建、删除数据库
    Spring 加载配置文件的方式
    MyBatis DAO层传递参数到mapping.xml 几种方式
    Python 正则表达式
    Python 之定时器
    Python学习
    获取鼠标经过位置的X、Y坐标
  • 原文地址:https://www.cnblogs.com/garinzhang/p/3613282.html
Copyright © 2011-2022 走看看