谢谢博主:http://blog.sina.com.cn/s/blog_490eb4170100x9vl.html
我们知道,Ubuntu下的汉字是以UTF-8为编码的。但实际上我们有许多来自Windows的文件,编码都是GB*(GB18030GBK GB2312),许多时候都变成了乱码。如下图,这是我用
gedit打开一个编码为GBK的文档。
其实在打开选项中,有一个编码“自动检测”的选项,点开下拉框发现没有GB18030,但是下面有添加/删除,于是我就把GB18030添加了进去。这时候打开文件时编码选择“GB18030”。
原以为问题已经解决了,没想到事情还没结束。关闭gedit,在文件浏览器中双击文档再次打开,发现又成了上面的乱码,选择自动检测也不行。在网上搜索,发现不少解决方案是这样的:
在终端中输入 sudo gconf-editor
依次开启/apps/gedit-2/preferences/encodings/双击右侧auto_detected,在弹出对话框中点选Add,添加Values值为GB2312,确定后选中,点选Up按钮将其移至第一位。
同样方法,对show_in_menu进行设置,并将GB2312置于首位。
不少人经过上述这个设置gedit就正常了,可是我的gedit还是在显示乱码。经过进一步探究,终于明白了是我的系统不支持GB18030内码。添加GB18030支持的方法如下
执行 sudo vim /var/lib/locales/supported.d/zh
加入以下配置参数zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_HK.BIG5 BIG5
zh_TW.BIG5 BIG5
然后执行 sudo locale-gen提示以下信息,成功了(可能比较慢,耐心等待)
zh_CN.GB18030… done
zh_CN.GBK… done
……
然后再次打开gedit,终于解决了。
以下取自wiki,似乎要方便得多:Gedit 3.x 版本设置 (适用于Ubuntu 11.10及以后)
[编辑] 命令方式
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'UTF-8', 'CURRENT', 'ISO-8859-15', 'UTF-16']"
[编辑] 图形方式
运行dconf-editor
展开/org/gnome/gedit/preferences/encodings
auto-detected的Value中加入 'GB18030' ,加在UTF-8前面;