发布时间:2022-07-04 文章分类:编程知识 投稿人:李佳 字号: 默认 | | 超大 打印

解决gedit的乱码问题

Linux Add comments1,719 views

我们知道,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

……

然后再次打开gedit,终于解决了。

在终端中输入 sudo gconf-editor

依次开启/apps/gedit-2/preferences/encodings/双击右侧auto_detected,在弹出对话框中点选Add,添加Values值为GB2312,确定后选中,点选Up按钮将其移至第一位。

同样方法,对show_in_menu进行设置,并将GB2312置于首位。

执行 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

……