在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中文乱码--添加中文字符集的更多相关文章

  1. Oracle 12c中文乱码,修改字符集的方法

    在windows 7 64位上安装Oracle 12c没有设定字符集,采用的是操作系统默认字符集:WE8MSWIN1252,将字符集修改为:ZHS16GBK.由于过程不可逆,首先需要备份数据库. 1. ...

  2. docker-compose 修改zabbix images 添加微信报警插件 时间同步 中文乱码 添加grafana美化zabbix

    我们先来看一下我们要修改得  zabbix.yaml           github   https://github.com/bboysoulcn/awesome-dockercompose ve ...

  3. windows mysql 中文乱码和中文录入提示太大错误的解决方法

    今天操作mysql的时候很郁闷,因为修改默认字符集搞了半天,终于弄成了(关于如何把windows的默认字符集设置成功,可以参看另一篇博文,最终在mysql中输入show variables like ...

  4. jsp中文乱码 Servlet中文乱码 utf-8

    JSP+Servlet项目中,项目统一使用utf-8编码.配置过滤器过滤所以请求并设置utf-8编码,jsp页面也都设置utf-8,但是还有一点很容易忽视的就是tomcat也要设置utf-8,默认情况 ...

  5. VS2013+QT5.3 中文乱码和中文路径不识别

    http://blog.csdn.net/brave_heart_lxl/article/details/7186631 ubun图中文乱码 https://blog.csdn.net/u013007 ...

  6. mysql中文乱码或者中文报错

    当出现中文乱码或者执行包含中文的语句报错时,十有八九就是编码的问题,我们可以执行下面语句查看编码: SHOW VARIABLES LIKE '%char%' 显示 其中character_set_se ...

  7. fckeditor for php 上传图片文件名中文乱码,中文文章乱码

    转载请注明来源:https://www.cnblogs.com/hookjc/ 中文名乱码是因为:FCKeditor使用UTF-8编码,自己机子比如是Windows系统文件名使用的是GBK编码,在上传 ...

  8. CentOS6.5解决中文乱码与设置字符集

    [ CleverCode发表在csdn博客中的原创作品,请勿转载,原创地址:http://blog.csdn.net/clevercode/article/details/46377577] 1)说明 ...

  9. Linux中文乱码 - - 更改Linux字符集

     查看当前系统默认采用的字符集: # locale 在RedHat/CentOS系统下,记录系统默认使用语言的文件是/etc/sysconfig/i18n,如果默认安装的是中文的系统,i18n的内容如 ...

随机推荐

  1. Ext分区文件恢复工具extundelete

     Ext分区文件恢复工具extundelete Ext是延伸文件系统(Extended system)的缩写.它是为Linux内核开发的第一个文件系统.它有多个版本.现在常见的是Ext3和Ext4.由 ...

  2. UOJ 180【UR #12】实验室外的攻防战

    http://uoj.ac/contest/25/problem/180 从前往后对比串A,B 当$A_i,B_i$不相同时找到$B_i$在A中的位置j 若$min{A_1,A_2,A_3...... ...

  3. JsonConfig处理日期时间

    写在前面: 页面发送ajax请求到后台,后台返回对应的json格式数据给前台页面进行数据展示,如果json数据中含有日期时间,就需要对日期进行处理 下面是相关的代码部分 JsonConfig json ...

  4. Mycat查询时出现:Error Code: 1064. can't find any valid datanode

    说明:这个错误是查询时条件字段超过了范围导致的. 解释: 为什么会出现范围问题? 一般在MySQL查询时不会因为字段的值超过了范围而导致的,但是在Mycat中却不是这样认为的,Mycat是由于采用的分 ...

  5. Linux文本过滤命令grep、awk、sed

    grep的使用: 一.grep一般格式: grep [选项] 基本正则表达式 [文件] 这里的正则表达式可以为字符串.在grep命令中输入字符串参数时,最好将其用双引号括起来.调用变量时也可以使用双引 ...

  6. WCF 与其它技术的比较

    以下特性WCF都支持 特性 Web Service .Net Remoting Enterprise Services WSE(WS Enhancements) MSMQ 具有互操作性的Web服务 支 ...

  7. Incorrect key file for table '/tmp/#sql_46fd_0.MYI'; try to repair it

    当查询数量很大时,(我的数据库70万数据),会导致这个错误,这是MYSQL中的一个bug. 解决方法 :   1. 修复表 check table tablename. 查看表的状态.如果有错误,则需 ...

  8. Linux操作系统实时性分析

    1. 概述 选择一个合适的嵌入式操作系统,可以考虑以下几个因素:  第一是应用.如果你想开发的嵌入式设备是一个和网络应用密切相关或者就是一个网络设备,那么你应该选择用嵌入式Linux或者uCLinux ...

  9. django book用户认证学习

    用户与Authentication 通过session,我们可以在多次浏览器请求中保持数据, 接下来的部分就是用session来处理用户登录了. 当然,不能仅凭用户的一面之词,我们就相信,所以我们需要 ...

  10. tensorflow dynamic rnn源码分析

    python3.6,tensorflow1.11 测试代码: tensorflow在eager模式下进行测试,方便调试,查看中间结果 import tensorflow as tf tf.enable ...