奇怪的EF BB BF

 

奇怪的EF BB BF

公司目前的一个项目,PHP做服务器端语言写了些API,返回JSON字符串,但发现前边多了几个字符:EF BB BF。最初并没有往UTF8编码上想,忽略了它是BOM的标识符,好一顿折腾才联想到文件的编码问题,解决方法也很简单:

把文件编码改成UTF8-无BOM编码,以notepad++为例,转下文件编码即可。


 

分析过程

通过测试工具或浏览器测试的API,查看返回的JSON串是正常的,只是仔细看的话,会发现开头处好像多了空格(因为EF BB BF这是不可见字符)。搬出手抓包的工具(如Fiddler),以HEX方式查看,就可以很容易发现那些像是空格的字符原来是BOM标识。