在 Windows 10 64、Yii 2 下,RESTful 接口响应 JSON 格式,CakePHP做为 http 客户端,再次转发响应数据至浏览器,浏览器端无法解析的解决
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 头,浏览器上可以正常解析




