解决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
  • 2
  • 3
  • 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
  • 2
  • LANGUAGE=”zh_CN:zh:en_US:en” LANG=zh_CN.UTF-8

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

    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_161_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了。

    原文链接:https://www.f2er.com/ubuntu/354423.html

    猜你在找的Ubuntu相关文章