分页: 1 / 1

[问题]vim编码的问题

发表于 : 2008-06-23 11:37
sailershen
我已经在.vimrc文件里设置了编码:

代码: 全选

set fenc=gb2312
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
但是我用vim打开中文文档的时候,中文仍然显示成乱码,但是用cat命令显示文件内容的时候中文显示正常。

console本身的编码是gb2312:

代码: 全选

set |grep LANG
GDM_LANG=zh_CN.gb2312
LANG=zh_CN.gb2312
请问如何解决?
谢谢!

Re: [问题]vim编码的问题

发表于 : 2008-06-23 12:23
ibear
sailershen 写了:我已经在.vimrc文件里设置了编码:

代码: 全选

set fenc=gb2312
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
但是我用vim打开中文文档的时候,中文仍然显示成乱码,但是用cat命令显示文件内容的时候中文显示正常。

console本身的编码是gb2312:

代码: 全选

set |grep LANG
GDM_LANG=zh_CN.gb2312
LANG=zh_CN.gb2312
请问如何解决?
谢谢!
试试“set fencs=gb18030,gbk,gb2312,cp936,utf-8,usc-bom,euc-jp”

发表于 : 2008-06-23 14:31
sailershen
谢谢
我是这样解决的,在.vimrc里增加:

代码: 全选

let &termencoding=&encoding
set fileencodings=gbk,utf-8,ucs-bom,cp936 
又修改一行:

代码: 全选

set  encoding=gb2312
然后在vim里就能正常显示gb2312编码的文字了。

另外还export locale=gb2312

Re: [问题]vim编码的问题

发表于 : 2008-06-24 10:37
poet
sailershen 写了:我已经在.vimrc文件里设置了编码:

代码: 全选

set fenc=gb2312
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
但是我用vim打开中文文档的时候,中文仍然显示成乱码,但是用cat命令显示文件内容的时候中文显示正常。
第一,去掉 set fenc=gb2312,
理由:绝对不能在 .vimrc 里面设置 fenc,否则会出现乱码。

第二,set fencs=ucs-bom,utf-8,euc-cn,cp936
理由:ucs-bom必须在第一位,否则无效,cp936和gb的码族只能同时存在一个,否则无效。这里选择兼容性最好的cp936。

第三,set enc=utf-8
理由:如果没有什么特别的理由,一般不要把enc设置为utf-8以外的值。