解决Ubuntu中文显示为乱码
前端之家收集整理的这篇文章主要介绍了
解决Ubuntu中文显示为乱码,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1. 安装所需软件
sudo
apt-get-y
install
language-pack-zh-hanssudoapt-get-yinstalllanguage-pack-zh-hanssudo apt-get install zh-autoconvert
sudo apt-get install zhcon
2. 配置系统
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环境
相关的文件和参考
相关手册: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命令的显示结果如下:
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