我在php中使用echo来返回数据库请求。当试图在Flash中解码结果时,我得到错误告诉我意外的字符。当我在浏览器中查看输出时看起来很好。但是当我复制内容(Select All - > Copy)然后通过php中的脚本运行文本时,我看到了许多奇怪的字符。这解释了为什么JSON解码失败,但我如何摆脱奇怪的角色呢?
测试脚本以检查字符串
$string = str_split($string);
echo '<pre>';
print_r($string);
echo '<pre>';
结果:
[0] => ï
[1] => »
[2] => ¿
[3] => ï
[4] => »
[5] => ¿
[6] => ï
[7] => »
[8] => ¿
...
答案 0 :(得分:2)
确保服务器使用正确的内容类型标头回复:
Content-type: application/json; charset=utf-8
答案 1 :(得分:0)
我在阅读this answer后找到了解决方案。问题是我的PHP文件是用带有BOM的UTF-8编码保存的。使用UTF-8编码保存文件解决了我的问题。