当源程序是 gbk 格式,你转换为 utf8 的时候,很多情况是头部会出现 bom,如果是 php 代码,这样会出现很多意想不到的事情,那怎么办呢,你可以用 linux 命令来查找,然后对文件的 bom 进行删除。
1
|
grep -r $ '\xef\xbb\xbf' * | grep .php |
bom:UTF-8签名(UTF-8 signature)也叫做BOM(Byte Order Mark)
查询BOM:
1
|
: set bomb? |
用 vim 去掉 utf-8 BOM
1
|
: set nobomb |
保留 utf-8 BOM
1
|
: set bomb |
vim 转换文件为 unix 格式
1
|
: set ff=unix |
使用 grep 查找带 bom 的文件,并使用 perl 去掉 bom 头
1
|
grep -rl $ '\xEF\xBB\xBF' . | xargs perl -i -pe 's{\xEF\xBB\xBF}{}' |