好像我以前的文件是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是目前最标准国家强制要求的中文编码。 |
联系客服