JSON +波兰人物

时间:2013-10-03 21:05:45

标签: php json encoding utf-8

我正在使用JSON将数组从PHP发送到Javascript。该数组从数据库中获取数据。我搜索了有关JSON和外来字符问题的多个主题,并且每个人都说要解决问题,你必须将编码设置为utf-8。我已经做到了,但我只是没有帮助我。所以我运行测试以查看问题所在。为了简单易行,我尝试将带有抛光字符的字符串传递给json_encode()函数。所以我创建了index.php文件。在我的文本编辑器中,我选择了没有BOM的UTF-8选项编码,我开始编码:

<?php
 header('Content-Type: text/html; charset=utf-8');
 $data = "polish characters: ążśęłóćźć";
 $jsonData = json_encode($data);
 echo mb_detect_encoding($data) . "<br />;
 echo $jsonData;
?> 

结果是:

UTF-8
"polish characters : \u0105\u017c\u015b\u0119\u0142\u00f3\u0107\u017a\u0107"

我仍然无法输出波兰字符。我不知道出了什么问题?请帮助:)

1 个答案:

答案 0 :(得分:0)

尝试做:

echo json_decode(json_encode($data));

您应该看到波兰语字符显示得很好。

应用程序不应直接向最终用户显示JSON,而应首先将其解析为更人性化的格式。如果您遵循该规则,json_encode不应该给您任何问题,因为您将始终解码并解析为任何适当的格式。