0

私はそのようなコードを持っています:

 for ($j = 0; $j < mysql_num_rows($subcategoriesData); $j++)
    {
      $subcategoriesStrResult = mysql_fetch_array($subcategoriesData);
      //echo $subcategoriesStrResult['title']."<br>";
      $itemFeatures = array( $subcategoriesStrResult['title'] => $subcategoriesStrResult['path']);
      array_push($arrayDataSubcategoryItems, $itemFeatures);
    };

    array_push($mainArrayForJSON, $item = array(
                                               'parent_id' => $subcategoriesStrResult['parent'],
                                               'level'     => $subcategoriesStrResult['level'],
                                               'items'     => $arrayDataSubcategoryItems
    ));

準備ができたら$mainArrayForJSON、単純なエコーでjsonコードをチェックしようとしています

echo  json_encode($mainArrayForJSON);

その間、必要なものを確実に取得するために、文字列の単一の値もチェックしていechoます(この文字列は現在コメントされています)-問題なく動作し、Chromeで読みやすいテキストが表示されます(データベースにこのテキストが保存されていますもちろん、utf8で)。

しかし、準備された JSON を確認するために echo を最後に呼び出すと、次の出力が表示されます。

[{"parent_id":"8-590","level":"3","items":[{"\u041c\u0435\u0442\u0430\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043b\u043e\u0442\u043e\u043a BAKS (\u041f\u043e\u043b\u044c\u0448\u0430)":"8-590-1404"},{"\u041c\u0435\u0442\u0430\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043b\u043e\u0442\u043e\u043a INPUK 

だから、それを修正する方法がわかりません-UTFコーディングの「SET NAMES ...」をハードコーディングしてheader()、iconv()を呼び出しました-テキストがUTF8であると確信しているため、最後は意味がありません。

助けてください、ありがとう。

4

1 に答える 1