分享

ubuntu 中文显示乱码问题

 望穿墙 2014-02-12

添加中文字符编码:

$sudo vim /var/lib/locales/supported.d/local

#添加下面的中文字符集

zh_CN.GBK GBK

zh_CN.GB2312 GB2312

zh_CN.GB18030 GB18030

使其生效:

$sudo dpkg-reconfigure locales

vim:

打开vim的配置文件,位置在/etc/vim/vimrc

在其中加入

set fileencodings=utf-8,gb2312,gbk,gb18030

set termencoding=utf-8

set encoding=prc

保存退出

source /etc/vim/vimrc

此时vim就能正确显示中文了。

pdf:

$sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional #安装pdf的中文字体

$sudo apt-get install poppler-data #安装解决pdf中文显示乱码的软件

$cd /etc/fonts/conf.d 

$sudo cp 49-sansserif.conf 49-sansserif.conf_backup #先备份下

$sudo rm 49-sansserif.conf #删除

在打开pdf文件,就能呢个正常显示中文了

 

gedit

 

gedit修改默认显示字符集

$sudo gconf-editor

打开的界面中选择apps->gedit2->preferences->encodings,添加需要的字符集并移动到最上方,保存就可以了。

 

设置默认的字符集

 

$sudo gedit /etc/environment

#第二行是默认字符集,设为zh_CH.UTF-8

LANG=zh_CH.UTF-8

LANGUAGAE="zh_CN:zh:en_US:en"

LANG=zh_CN.UTF-8 #不能选择GBKGB2312,终端界面中文会乱码

LC_CTYLE=zh_CN.GB2312

GST_ID3_TAG_ENCODING=GB2312

$source /etc/environment使其生效

 

所有的字符集在/usr/share/i18n/charmaps目录下

locale的书写格式为:语言[_地域[.字符集][@修正值]]

 

方法2

由于在新项目里有到了一点点国际化的配置,用于在出错提示,操作提示等方面的,发现在windows下能正常显示出中文,但到了linux就不能显示中文了.搜索一翻后说是linux的中文环境变量的问题故更改之

在终端里输入:set 

---------------------------------------------------------------------------------------------

 

在终端里输入:set 
Java代码   http://tcrct./images/icon_star.png

1.     ...  

2.     LANG=C  

3.     LANGUAGE=C  

4.     ...  


这是默认的语言编码,如果要显示中文的话就更将其更改为LANG=zh_CN,首先第一步
Java代码   http://tcrct./images/icon_star.png

1.     #:~ cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local  


第二步
Java代码   http://tcrct./images/icon_star.png

1.     vi /var/lib/locales/supported.d/local  


编辑文件,删除你不想要的语言系列.如我的只留enzh系的 

第三步:重新生成locale支持文件 
Java代码   http://tcrct./images/icon_star.png

1.     sudo locale-gen --purge  


此时会重新生成locale文件,慢慢等待一下至运行完成

第四步:设置locale文件,在终端里输入locale命令后回车,将显示出来的内容复制,然后再打开/etc/environment文件,将内容粘贴末尾.保存退出.如我的是这样的
Java代码   http://tcrct./images/icon_star.png

1.     PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"  

2.     LANGUAGE="zh_CN:zh:en_US:en"  

3.     LC_ALL=zh_CN.UTF-8  

4.     LANG=zh_CN.UTF-8  

5.     GST_ID3_TAG_ENCODING=UTF-8  

6.        

7.     LANG=zh_CN  

8.     LANGUAGE=zh_CN  

9.     LC_CTYPE="zh_CN"  

10.  LC_NUMERIC="zh_CN"  

11.  LC_TIME="zh_CN"  

12.  LC_COLLATE="zh_CN"  

13.  LC_MONETARY="zh_CN"  

14.  LC_MESSAGES="zh_CN"  

15.  LC_PAPER="zh_CN"  

16.  LC_NAME="zh_CN"  

17.  LC_ADDRESS="zh_CN"  

18.  LC_TELEPHONE="zh_CN"  

19.  LC_MEASUREMENT="zh_CN"  

20.  LC_IDENTIFICATION="zh_CN"  

21.     

22.  LC_CTYPE=zh_CN.UTF-8  

 

 

然后退出重新登录,在终端里再输入locale,会发现LANG=C已经更改为LANG=zh_CN.再查看下网站就可以成功显示到中文了

,由于vi编辑器不太会用,ubuntu servcr下还可以用pico这个编辑器来代替,至于最后发现,可能前面的一二三步都不需要做,只需要第四步即可完成.但这没经测试的.
==================================================================== 
Java代码  

1.     linux 中文显示乱码解决办法其实是有多种情况的有一部分是由于终端默认的设置造成的  

2.       

3.     vi /etc/sysconfig/i18n  

4.       

5.     将内容改为  

6.     LANG=”zh_CN.GB18030″  

7.     LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”  

8.     SUPPORTED=”zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”  

9.     SYSFONT=”lat0-sun16″  

10.    

11.  这样中文在SSH,telnet终端一般可以正常显示了。  

12.    

13.  如果还是不行,可以这么做:  

14.    

15.  1console终端乱码  

16.    

17.  /etc/profile文件的最后一行添加如下内容:  

18.    

19.  export LC_ALL="zh_CN.GB18030"  

20.    

21.  2xwindow终端乱码  

22.    

23.  /etc/sysconfig/i18n文件的最后一行添加如下内容:  

24.    

25.  export LC_ALL="zh_CN.GB18030"  

注:转自http://blog.sina.com.cn/s/blog_45bcb4c30100x0lj.html。如原作者有意见立即删除。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多