之前都是用cleanbom.php来去除BOM的。今天运行提示没有异常文件,但是用Fiddler还是看到了EF BB BF,删除缓存也无效,将cleanbom.php上传到生产环境也提示没有异常。

这里充分鄙视下Beyond Compare,也是怪我不会用。要对比出BOM,需要使用“二进制比较”而不是“基于规则的比较”。

为什么cleanbom.php也没能发现呢,猜测原因是权限不足,无法列出某些文件夹。

所以还是补习了一下linux系统下该怎么处理:

grep -r -I -l $'^\xEF\xBB\xBF' ./

顺便记住两个去掉BOM的方法,还未使用

find . -type f -exec sed -i 's/\xEF\xBB\xBF//' {} \;
#or
echo -ne '\xef\xbb\xbf123456' | awk '{if(NR==1)sub(/^\xef\xbb\xbf/,""); print}'

在编辑器下去掉BOM

#去掉
:set nobomb
#保留
:set bomb

因为只有一个文件,所以,呵呵~

05-02 12:40