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ヘッダーで応答していることを確認します。

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 に答える