解决gedit的乱码问题
This post is written in Chinese. Please consider using Google Translate
我们知道,Ubuntu下的汉字是以UTF-8为编码的。但实际上我们有许多来自Windows的文件,编码都是GB*(GB18030 GBK 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
......