解决Ubuntu中文显示为乱码

前端之家收集整理的这篇文章主要介绍了解决Ubuntu中文显示为乱码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1. 安装所需软件

      • 1
      • 2
        • 1
        • 2
        sudoapt-get-yinstalllanguage-pack-zh-hanssudoapt-get-yinstalllanguage-pack-zh-hanssudo apt-get install zh-autoconvert
      • sudo apt-get install zhcon

      2. 配置系统

      1. 1
      2. 2
      3. 3
      4. 4
          • 1
          • 2
          • 3
          • 4
          $ vi /var/lib/locales/supported.d/local 加入
        • zh_CN.GBK GBK
        • zh_CN.GB2312 GB2312zh_CN.UTF-8 UTF-8
        • $ sudo locale-gen

        3. 修改ubuntu的字符集

        方法一: 修改用户目录下的.profile或.bashrc文件增加以下内容

        1. 1
        2. 2
        3. LANGUAGE=zh_CN:zh:en_US:en
        4. LANG=zh_CN.UTF-8

        重新登录即可。
        这个方法只对该用户有效。
        方法二:修改/etc/environment,增加以下内容

        1. UTF-8

        然后重启X即可
        这个方法对没有设置LANG及LANGUAGE环境变量的用户有效

        参考:

        http://www.jb51.cc/article/p-wjxhvcmu-ck.html
        http://www.jb51.cc/article/p-vkuvfess-t.html
        http://www.linuxidc.com/Linux/2014-02/96939.htm


        ==============补充=======================

        要想达到应用程序中正常显示中文字符的目的,要下面的三个变量应该如下,

        1
        2
        3
        LANG=zh_CN.UTF-8
        LANGUAGE=zh_CN:zh:en_US:en
        LC_ALL=LC_ALL=zh_CN.UTF-8

        但问题在于“LC_ALL to default locale: No such file or directory”和“LC_ALL: cannot change locale (zh_CN.UTF-8) ”,因此重新安装中文语言包。

        执行下面命令

        1
        sudo apt-get-y install language-pack-zh-hans

        sudo apt-get-y install language-pack-zh-hanslanguage-pack-zh-hans-base

        如果想支持繁体字,则执行

        sudo apt-get-y install language-pack-zh-hant

        sudo apt-get-y install language-pack-zh-hantlanguage-pack-zh-hant-base

        再执行locale命令设置当前locale环境

        locale

        相关的文件和参考

        相关手册:man locale(1),locale(5),locale(7)

        相关文件:/usr/share/i18n/SUPPORTED

        相关命令:

        locale --all-locales 列出当前系统中所有支持的locale

        localectl list-locales 列出当前系统中所有可用的locale

        localectl set-locales LOCALE... 修改当前系统中的locale,与locale功能相同,与export上文提到的三个变量相同

        对于CentOS,可以直接编辑/etc/sysconfig/i18n文件,将LANG="en_US.UTF-8"设置成LANG="zh_CN.UTF-8",除此之外,CentOS下locale命令的显示结果如下:

        @H_334_301@#locale

        LANG=en_US.UTF-8
        LC_CTYPE="en_US.UTF-8"
        LC_NUMERIC="en_US.UTF-8"
        LC_TIME="en_US.UTF-8"
        LC_COLLATE="en_US.UTF-8"
        LC_MONETARY="en_US.UTF-8"
        LC_MESSAGES="en_US.UTF-8"
        LC_PAPER="en_US.UTF-8"
        LC_NAME="en_US.UTF-8"
        LC_ADDRESS="en_US.UTF-8"
        LC_TELEPHONE="en_US.UTF-8"
        LC_MEASUREMENT="en_US.UTF-8"
        LC_IDENTIFICATION="en_US.UTF-8"
        LC_ALL=

        其中,LC_ALL=为空,但并不是表示这里不对,而是LC_ALL=实际上等于LC_COLLATE、LC_CTYPE、LC_MONETARY、LC_MESSAGES、LC_NUMERIC、LC_TIME,参见locale(7)。


        ==============补充=======================

        我是先安装了Ubuntu12.04 Server,然后安装桌面。进入以后发现中文有问题。

        解决方法
        一. Ubuntu默认的中文字符编码
        Ubuntu默认的中文字符编码为zh_CN.UTF-8,这个可以在
        /etc/environment中看到:
        sudo gedit /etc/environment
        可以看到如下内容
        PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
        LANG="zh_CN.UTF-8"
        LANGUAGE="zh_CN:zh:en_US:en"第二行即是默认的中文字符编码。注:可以通过这里修改默认的中文编码字符,比如修改为:zh_CN.GBK。

        二. 添加中文字符编码的方法
        1. 直接使用locale-gen
        在终端输入命令:
        sudo locale-gen zh_CN.GB18030
        即可完成中文字符集的添加。完成后可以转到
        /usr/lib/locale/,下面已经有一个zh_CN.gb18030文件夹;在超级终端输入命令:
        gedit /var/lib/locales/supported.d/local,可以发现文件中多了一行:zh_CN.GB18030 GB18030。说明添加成功。

        2. 通过修改/var/lib/locales/supported.d/local文件
        在终端输入命令行
        sudo gedit /var/lib/locales/supported.d/local
        可以看到如下内容
        zh_CN.UTF-8 UTF-8
        en_US.UTF-8 UTF-8
        文件添加中文字符集
        zh_CN GB2312
        保存后退出。在终端输入命令:
        sudo dpkg-reconfigure locales
        最后重启ubuntu。

        重启后在系统设置--语言设置里面需要勾选中文,就会自动下载中文包,安装完成后再次重启就ok了。

        猜你在找的Ubuntu相关文章