我有这样的代码:
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中,当然)。
但最后调用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() - last没有意义因为我是确定我的文字是UTF8。
请帮助,谢谢。
答案 0 :(得分:1)
如果您想在网页上输出文字,请使用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>
输出: