php BOM 问题

最近合作开发项目  总发现php输出的不对  代码一模一样也不行  后来机智的我感觉是编码有问题  发现都是utf-8 的   最后把文件内容都删除之后发现还有3个字符大小  用vim -b 命令打开之后发现是 <feff>  感觉问题就出在这里了。

后来才发现 这是utf-8里面的 BOM  , 恶心的是BOM 会随着echo 输出  导致不对。

附上几个命令 查找和去除BOM

在vim 中:

#设置UTF-8编码
:set fileencoding=utf-8
#添加BOM
:set bomb
#删除BOM
:set nobomb
#查询BOM
:set bomb?

  

grep:

// 查找
grep -I -r -l $'\xEF\xBB\xBF' /path

//替换
grep -I -r -l $'\xEF\xBB\xBF' /path | xargs sed -i 's/^\xEF\xBB\xBF//g'

相关推荐