Php json_decode()返回不可读的文本

Php json_decode()返回不可读的文本,php,json,encoding,Php,Json,Encoding,我有这样的代码: for ($j = 0; $j < mysql_num_rows($subcategoriesData); $j++) { $subcategoriesStrResult = mysql_fetch_array($subcategoriesData); //echo $subcategoriesStrResult['title']."<br>"; $itemFeatures = array( $subcategor

我有这样的代码:

 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
    ));
同时,为了确保我得到了我需要的东西,我也在通过
echo检查字符串的单个值(这个字符串现在被注释了)-它工作正常,我在Chrome上看到了良好的可读性文本(当然,在数据库中,这个文本存储在utf8中)

但最后一次调用echo检查准备好的JSON会导致我进入下一个输出:

[{"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


请提供帮助,谢谢。

如果您想在网页上输出文本,请使用javascript。你会得到你的俄文角色。例如:

<script type="text/javascript">
    var a = "\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";
    alert(a);
</script>

变量a=“\u041c\u0435\u0442\u0430\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439\u043b\u043e\u0442\u043e\u043a烘焙(\u041f\u043e\u043b\u044c\u0448\u0430”);
警报(a);
输出如下:


此结果对于非ASCII文本绝对正确可能是页面编码的错误?无需修复,根据JSON编码规则,输出是正确的。无论如何,我需要获得可读文本。或者,我认为当我反序列化结果时,我会得到正确的结果?JSON不适合人类阅读,而是用于可以被其他JSON解析器读取。您在那里得到的代码对JSON解析器来说是完全有效和可读的。谢谢,您的建议很有用。
<script type="text/javascript">
    var a = "\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";
    alert(a);
</script>