1、初步怀疑是因为 bom 头导致的问题,在 EditPlus 中另存为编码:UTF-8 + BOM,如图1
2、执行 Git 提交,差异:文本是相同的,但文件不匹配。发现下列差异:编码方式(ASCII, UTF-8 BOM),如图2
3、在 PhpStorm 选择项目,右键执行 Remove BOM,如图3
4、执行 Git 提交,发现文件 bom 头已经去掉,无差异,Remove BOM 的执行效果符合预期,且确认程序文件中无 bom 头,如图4
5、在浏览器中复制响应的数据存储至txt文档中,然后在 Windwos PoserShell 中查看,发现确定是存在 bom 头的,如图5
6、最终分析发现,原因在于 php http client(基于CakePHP) 的配置文件中,一个文件存在 bom 头,去掉 bom 头,浏览器上可以正常解析