这阻止了我使用 JSON,也阻止了使用 React 或 Ember。使用 AJAX 向服务器发送请求时,我收到一个额外的未定义 unicode 字符,这会导致解析器错误,因为它破坏了 JSON。
我已经检查了我拥有的每个 php 文件是否有额外的 throw 或 echo 或 print 或任何其他可以打印某些内容的函数,但什么也没有。这不限于 JSON,但在等待文本时,这不会成为问题。但使用 JSON 时,它会被解析并且会损坏。
这里有什么东西可能会干扰吗?
如需更多说明,请查看此内容。红点代表未定义的字符。
附言。另外,我不会使用 ?> 标签关闭任何 PHP 文件并将开始标签放在每个文件的开头。
聚苯硫醚。我正在使用 Sublime Text 3,我不认为它与 BOM 有任何关系。另外chrome和firefox中的红点代表从服务器发送的不可打印的特殊unicode字符,并且服务器端只有PHP。
正如我在上面的评论中发布的链接中所回答的。
“Windows 记事本将 BOM 信息添加到 UTF-8 文件(即文件开头的 FFFE 或 FEFF),这可以解释此行为。例如,在 Notepad++ 中,您可以使用“格式”菜单阻止 UTF-8 包含 BOM 信息”
确保包含的 php 文件也检查了 BOM
Use 这个命令 https://stackoverflow.com/questions/204765/elegant-way-to-search-for-utf-8-files-with-bom用于搜索和删除文件中的 BOM!:
find . -type f -exec sed '1s/^\xEF\xBB\xBF//' -i.bak {} \; -exec rm {}.bak \;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)