分页: 1 / 1

Win32 下GVim打开带有GB18030的☭符号乱码!

发表于 : 2010-03-15 17:28
liumailong
环境:Win32 Vim最新编译版
这个文件带有GB18030编码的☭符号
但始终无以GB18030打开,实际上我无法以GB18030打开任何文件。求解!

代码: 全选

:e $vim/vimrc
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,GB18030,cp936,big5,euc-jp,euc-kr,latin1

Re: Win32 下GVim打开带有GB18030的☭符号乱码!

发表于 : 2010-03-16 16:09
lilydjwg
原因为字体中没有这个符号。在 DejaVu Sans 中有这个符号,但不是等宽字体。什么叫不能以 GB18030 打开任何文件?

另外你的 fileencodings 中部分设置是无效的,GB18030 和 BIG5 是重叠的,所以即使是繁体中文文件也不能自动识别的。后面的估计也会遇到类似的情况。

Re: Win32 下GVim打开带有GB18030的☭符号乱码!

发表于 : 2010-03-16 18:47
liumailong
不是,字体的问题!文件如果是UTF-8编码的就没问题。
我曾经试过
set fileencodings=GB18030
甚至
set encoding=GB18030
set fileencoding=GB18030
set fileencodings=GB18030
来打开GB18030编码的文件
Vim干脆显示无法识别。

另“fileencodings”应该设置成什么样才好?

Re: Win32 下GVim打开带有GB18030的☭符号乱码!

发表于 : 2010-03-16 21:13
lilydjwg
liumailong 写了:不是,字体的问题!文件如果是UTF-8编码的就没问题。
我曾经试过
set fileencodings=GB18030
好吧,你比我幸运。在我这里文件是 UTF-8 也一样,只有 Ubuntu 下正常。
另“fileencodings”应该设置成什么样才好?
我的设置是这样的:

代码: 全选

set fileencodings=ucs-bom,utf-8,gb18030,cp936,latin1
其它的 big5、UTF-16le 什么的就自己手动指定编码,因为我见得很少的(UTF-16的 Windows 下也有一些,但一般有 BOM 可以识别的)。
手动指定编码我用自定义命令 Enc encoding:

代码: 全选

command -nargs=1 Enc e ++bad=keep ++enc=<args> %

Re: Win32 下GVim打开带有GB18030的☭符号乱码!

发表于 : 2010-03-16 22:53
liumailong
看来GB18030 是个难题

谢谢你的帮助! :em76