0

我在 php 中使用 echo 来返回数据库请求。尝试在 Flash 中解码结果时,我收到错误消息,告诉我意外字符。当我在浏览器中查看输出时,它看起来很好。但是当我复制内容(全选 -> 复制)然后通过 php 中的脚本运行文本时,我看到了很多奇怪的字符。这就解释了为什么 JSON 解码失败,但是我该如何摆脱奇怪的字符呢?

测试脚本以检查字符串

    $string = str_split($string);
    echo '<pre>';
    print_r($string);
    echo '<pre>';

结果:

    [0] => ï
        [1] => »
        [2] => ¿
        [3] => ï
        [4] => »
        [5] => ¿
        [6] => ï
        [7] => »
        [8] => ¿
...
4

2 回答 2

2

确保服务器使用正确的内容类型标头进行回复:

Content-type: application/json; charset=utf-8
于 2013-01-10T10:56:12.670 回答
0

阅读此答案后,我找到了解决方案。问题是我的 PHP 文件是用带有 BOM 的 UTF-8 编码保存的。使用 UTF-8 编码保存文件解决了我的问题。

于 2013-01-10T11:10:53.893 回答