当源程序是 gbk 格式,你转换为 utf8 的时候,很多情况是头部会出现 bom,如果是 php 代码,这样会出现很多意想不到的事情,那怎么办呢,你可以用 linux 命令来查找,然后对文件的 bom 进行删除。
grep -r $'\xef\xbb\xbf' * |grep .php
bom:UTF-8签名(UTF-8 signature)也叫做BOM(Byte Order Mark)
查询BOM:
:set bomb?
用 vim 去掉 utf-8 BOM
:set nobomb
保留 utf-8 BOM
:set bomb
vim 转换文件为 unix 格式
:set ff=unix
使用 grep 查找带 bom 的文件,并使用 perl 去掉 bom 头
grep -rl $'\xEF\xBB\xBF' . | xargs perl -i -pe 's{\xEF\xBB\xBF}{}'
假设你知道这个文件的正确编码的话,能够在打开文件的时候使用 ++enc=encoding 的方式来打开文件。如:
:e ++enc=utf-8 myfile.txt
文章评论
写的很好,很喜欢
博客页面打开慢。
@repostone 因为本博客使用的是国外VPS搭建,国内访问是有这种慢的情况。