Lubuntu下自带的leafpad不够用了,想用ubuntu下的gedit,就必须先解决识别gbk的问题。
网上通用的方法是:
Ubuntu下用gedit打开gbk这样的中文编码总是乱码,现在找到一个解决方法可以让Gedit自动识别编码:
运行gconf-editor,在弹出的对话框中选择:/apps/gedit-2/preferences/encodings/auto_detected ,双击auto_detected后添加一个编码:GB18030,保存即可。
但是,gconf-editor是gnome系的,Lubuntu用的是openbox,不想装gconf-editor怎么办?
“linux下,一切都是文件”,gconf肯定也是,直接改文件吧,终于被我找到了!
系统级的在 /usr/share/gconf/schemas/ 目录下,用户级的在 ~/.gconf/apps/ 下,
用户目录下有了,就会用用户级的,覆盖全局的设置。
用户级的:
1 | vi .gconf/apps/gedit-2/preferences/encodings/%gconf.xml |
修改方法:
1 2 3 4 5 6 7 8 | <!-- 添加或修改,记得包含GBK --> <entry name="auto_detected" mtime="1297330539" type="list" ltype="string"> <li type="string"><stringvalue>UTF-8</stringvalue></li> <li type="string"><stringvalue>GBK</stringvalue></li> <li type="string"><stringvalue>CURRENT</stringvalue></li> <li type="string"><stringvalue>ISO-8859-15</stringvalue></li> <li type="string"><stringvalue>UTF-16</stringvalue></li> </entry> |
# 改全局的:
1 | sudo vi /usr/share/gconf/schemas/gedit.schemas |
修改方法:
1 2 3 4 5 | <!-- 找到 /schemas/apps/gedit-2/preferences/encodings/auto_detected 修改下面的 locale en_US,加上GBK --> <locale name="en_GB"> <default>[UTF-8,GBK,CURRENT,ISO-8859-15,UTF-16]</default> </locale> |
因为我的用户已经存在,用户级配置已经生成,所以需要改用户级的,(若未生成,那就改全局的吧)
所有支持的编码:http://svn.gnome.org/viewvc/gedit/trunk/gedit/gedit-encodings.c?view=markup