解决Ubuntu中文显示为乱码(仅供参考其中方法,并不一定能解决)

1. 安装所需软件

sudo apt-get -y install language-pack-zh-hanssudo apt-getinstallzh-autoconvert

sudo apt-getinstallzhcon


2. 配置系统

$ vi /var/lib/locales/supported.d/local加入

zh_CN.GBKGBK

zh_CN.GB2312 GB2312

zh_CN.UTF-8UTF-8

$ sudo locale-gen


3. 修改ubuntu的字符集

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

LANGUAGE=”zh_CN:zh:en_US:en”

LANG=zh_CN.UTF-8


重新登录即可。

这个方法只对该用户有效。

方法二:修改/etc/environment,增加以下内容:

LANGUAGE=”zh_CN:zh:en_US:en”

LANG=zh_CN.UTF-8


然后重启X即可

这个方法对没有设置LANG及LANGUAGE环境变量的用户有效

参考:

http://blog.csdn.net/zjc156m/article/details/9095297

http://blog.csdn.net/xieyan0811/article/details/7530962

http://www.linuxidc.com/Linux/2014-02/96939.htm

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

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


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) ”,因此重新安装中文语言包。

执行下面命令

sudoapt-get -y installlanguage-pack-zh-hans

sudoapt-get -y installlanguage-pack-zh-hans language-pack-zh-hans-base

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

sudoapt-get -y installlanguage-pack-zh-hant

sudoapt-get -y installlanguage-pack-zh-hant language-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命令的显示结果如下:

# 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中文显示为乱码(仅供参考其中方法,并不一定能解决))