好像我以前的文件是windows下面或者是8.10版的,好像编码不一样,不知道是gb2312的还是什么样的。他默认认不出编码来。 不过在打开的时候选择 GB18030编码是可以显示正常的。在网上找到了如下解决办法:
1).运行 gconf-editor,把 gedit 的自动检测编码设置修改一下,加入 GB18030,GB2312 ,GBK 等几个 ( GB18030 兼容GB2312 ,GBK的,所以只添加有一个 GB18030就可以了的)
在这项下 /apps/gedit-2/preferences/encodings/auto_detected 下面
我的系统的encoding 默认是
utf-8的,添加了GB18030之后就可以了。但注意要放在你系统支持的locale前面才行。看下面怎么添加GB18030
locale的支持。有人说了,他是调用glib库的函数来判断编码的,好像你系统不安装这个locale的话,他是都检测的时候有点问题,所以你要把
GB18030放到最前面才行,因为我系统一开始只有UTF-8的支持,所以一开始顺序
UTF-8 ,ISO-8859-15,GB18030
这样他还是认不出GB18030编码,要写
UTF-8 ,GB18030,ISO-8859-15这样,好像。
类似的可以在/etc/vim/gvimrc 文件里面添加 set fencs=utf-8,GB18030,ucs-bom,default,latin1
这行, 让 gvim 编辑器也能自动检测到编码来。 在gvim中 ,点“编辑”-》“设定窗口”菜单,可以看到帮助。
2).编辑前用 iconv -f gb2312 -t utf8 filename 来转码 。这个直接把文件编码改了吧。
====================================
下面修改 系统的locale支持,要添加上对GB18030的支持
man locale , man locale-gen看一下帮助吧
1.编辑/var/lib/locales/supported.d/*
格式参考 /usr/share/i18n/SUPPORTED
vi /var/lib/locales/supported.d/local
vi /var/lib/locales/supported.d/zh
vi /var/lib/locales/supported.d/en
如:
more /var/lib/locales/supported.d/local
zh_CN.UTF-8 UTF-8
en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
其实在/var/lib/locales/supported.d/zh里面添加GB18030 就可以了,不用改/var/lib/locales/supported.d/local
2.生成locale(自动保存在/usr/lib/locale/中)
locale-gen 或者 dpkg-reconfigure locales 命令都可以
widebright@widebright:~$ dpkg-reconfigure locales
/usr/sbin/dpkg-reconfigure 必须以 root 身份执行
widebright@widebright:~$ sudo dpkg-reconfigure locales
Generating locales...
zh_CN.GB18030... done
zh_CN.GB2312... done
zh_CN.GBK... done
zh_CN.UTF-8... up-to-date
zh_HK.UTF-8... up-to-date
zh_SG.UTF-8... up-to-date
zh_TW.UTF-8... up-to-date
Generation complete.
下面这些是 要把系统的 默认locale改成 GB18030的,可以不做了
3.修改locale
vi /etc/environment
把
LANG="zh_CN.UTF-8"
改成
LANG="zh_CN.GB18030"
4.重新启动或切换下运行级别,查看locale
5.登陆界面的选项里
默认语言也要相应改选成 zh_CN.GB18030,这样ubuntu就完全被中文化了,zh_CN.GB18030是目前最标准国家强制要求的中文编码。
好像作这一步就可以了,第3步没有起什么作用。
http://hi.baidu.com/widebright/blog/item/e0c04116014ccd4220a4e9d6.html
阅读(226) | 评论(0) | 转发(0) |