zoukankan      html  css  js  c++  java
  • Resolve Chiness Messy Code in Linux

    其实乱码这个问题是由系统集成的字符集引起的,由于不能正确的使用相对应字符的字符集,因此OS不能识别出文字导致了乱码。


    首先,我们先要知道控制Linux OS 的语言环境变量是 $LANG和$LC_ALL,要解决乱码的情况我们只需要把上述的两个变量正确设置即可.

    乱码分两种情况:
    1.终端(纯shell界面)的乱码
    vi /etc/profile
    export LC_ALL="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
    保存退出,reboot系统即可..

    2.X-window(图形界面)的乱码
    vi /etc/sysconfig/i18n
    LANG="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
    LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
    保存reboot即可...

    由于中文的字符集编码很多,我自己也不是十分清楚彼此的兼容性如何,所以就尽可能的找了很多种不同的编码都写了上去,大家也可以自己筛选下,总的解决思路就是修改控制环境参数的变量,增加OS所支持的字符集(前提要内核上存在该字符,否则需要编译内核)

    方法一:    修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030


    对于其他用户,也必须相应修改该文件


        使用该方法时putty能显示中文,但桌面系统是英文,而且所有的网页中文显示还是乱码


    方法二:

    修改/etc/sysconfig/i18n文件


    #LANG="en_US.UTF-8"
    #SUPPORTED="en_US.UTF-8:en_US:en"
    #SYSFONT="latarcyrheb-sun16"


    改为


    LANG="zh_CN.GB18030"
    LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
    SUPPORTED="zh_CN.GB18030:zh_CN:zh"
    SYSFONT="lat0-sun16"
    SYSFONTACM="8859-15"


  • 相关阅读:
    Local File Manage in JavaScript Using FileSystemObject
    How to Register COM in VS
    Permission Error When Building C++ in VS2010
    Upload and Download File using Java
    JavaScript Interactive with ActiveX Control
    一个完整的Installshield安装程序实例
    一个.NET(C#)的双键字典类
    C#实现内存中字符串或byte[]的加解密
    判断请求是否来自 AJAX
    Reflector 7.3.018
  • 原文地址:https://www.cnblogs.com/yefengmeander/p/2887531.html
Copyright © 2011-2022 走看看