ubuntu中文乱码--添加中文字符集

Posted yuxi_o

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu中文乱码--添加中文字符集相关的知识,希望对你有一定的参考价值。

在Ubuntu支持中文后(方法见上篇文章),默认是UTF-8编码,而Windows中文版默认是GBK编码。为了一致性,通常要把Ubuntu的默认 编码改为GBK。当然你也可以不改,但这会导致我们在两个系统之间共享文件变得非常不方便,Samba共享的文件也总会有乱码出现。总不能每次传完文件都 人肉转码一次吧。

ubuntu转码需要分为几个部分分别进行:

1. 系统级

Ubuntu默认是不支持GBK的。这里若不更改,则后续步骤均无法生效。

添加中文字符编码:

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

#添加下面的中文字符集

  1. zh_CN.GBK GBK  
  2. zh_CN.GB2312 GB2312  
  3. zh_CN.GB18030 GB18030  

使其生效:

  1. $sudo dpkg-reconfigure locales  

2. vim

虽然Ubuntu已经支持GBK了,但默认的输入/显示方式仍然是UTF-8,要想改变就需要我们逐一去设定。VIM首当其冲。
打开vim的配置文件,位置在/etc/vim/vimrc
在其中加入

  1. set fileencodings=utf-8,gb2312,gbk,gb18030  
  2. set termencoding=utf-8  
  3. set encoding=gbk


保存退出

  1. source /etc/vim/vimrc  

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

3. 让Terminal默认GBK

虽然VIM已经能够编写/打开GBK文件,但cat <filename>时我们发现仍然是乱码。此时我们需要更改Terminal的默认编码方式。

在terminal面板上选择菜单栏中的termianl-->set character encoding-->add or remove,然后在左侧选择GB2312或GBK,添加到右侧,关闭。

然后在terminal面板上的 termianl-->set character encoding选定增加的中文编码,然后就可以正常显示中文了。
4. pdf

  1. $sudo apt-get install xpdf-chinese-simplifiedxpdf-chinese-traditional #安装pdf的中文字体  
  1. $sudo apt-get install poppler-data #安装解决pdf中文显示乱码的软件  
  2. $cd /etc/fonts/conf.d   
  3. $sudo cp 49-sansserif.conf 49-sansserif.conf_backup #先备份下  
  4. $sudo rm 49-sansserif.conf #删除  


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

5. gedit
缺省配置下,用 Ubuntu 的文本编辑器(gedit)打开 GB18030/GBK/GB2312 等类型的中文编码文本文件时,将会出现乱码。

出现这种情况的原因是,gedit 使用一个编码匹配列表,只有在这个列表中的编码才会进行匹配,不在这个列表中的编码将显示为乱码。您要做的就是将 GB18030 加入这个匹配列表。

命令行方式,适用于所有 Ubuntu 用户。
复制以下命令到终端中,然后回车即可:

gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected "[UTF-8,CURRENT,GB18030,BIG5-HKSCS,UTF-16]"

图形化方式,适用于 Ubuntu 用户,而不适用于 KUbuntu/XUbuntu 用户。
您可以遵循以下步骤,使您的 gedit 正确显示中文编码文件。

按下 Alt-F2,打开“运行应用程序”对话框。
在文本框中键入“gconf-editor”,并按下回车键,打开“配置编辑器”。
展开左边的树节点,找到 /apps/gedit-2/preferences/encodings 节点并单击它。
双击右边的 auto_detected 键,打开“编辑键”对话框。
单击列表右边的“添加”按钮,输入“GB18030”,单击确定按钮。
列表的最底部新增加了一个“GB18030”。单击选中它,并单击右边的 “向上” 按钮直到 “GB18030” 位于列表的顶部为止。
单击确定按钮,关闭配置编辑器。
gedit3.x版本设置

终端输入dconf-editor

展开org/gnome/gedit/preferences/encodings

auto-detected的value中加入’GB18030′,加在uft8后面;

show-in-menu的value中加入’GB18030′

现在,您的 gedit 应该能够顺利打开 GB18030 编码的文本文件了。

gedit 3.X版本命令设置:gsettings set org.gnome.gedit.preferences.encodings auto-detected "[‘UTF-8‘,‘GB18030‘,‘GB2312‘,‘GBK‘,‘BIG5‘,‘CURRENT‘,‘UTF-16‘]"

6. 中文文件名乱码转换

因为以前使用zh_CN.GB* 现在使用zh_CN.UTF-8,所以文件名编码有问题。
convmv -f gbk -t utf-8 -r --notest /filePath

 

参考:

http://blog.csdn.net/zbunix/article/details/8948139

 

以上是关于ubuntu中文乱码--添加中文字符集的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu14.04终端输出中文乱码,如何fix

ubuntu下Eclipse英文乱码解决方法

Mysql命令行查询的结果中文为乱码怎么办?

ubuntu Docker 中文支持,及中文乱码问题

Ubuntu的字符界面乱码

ubuntu 显示中文乱码问题