为什么这样:
<?
var_dump ( json_decode('{"unicode":"\u30d7\u30ec\u30b9\u30ad\u30c3\u30c8"}') );
?>
告诉我:
object(stdClass)#1 (1) {
["unicode"]=>
string(18) "ãã¬ã¹ããã"
}
根据文件说它应该是“プレスキット”
在一台运行PHP 5.1.6的计算机上,根据http://www.aurore.net/projects/php-json/上的说明和运行PHP 5.2.11的计算机安装了此模块,这种情况发生在我身上
答案 0 :(得分:1)
你必须输出一个UTF-8字符集标题,或者你的浏览器可以自由地解释它想要的原始json字符串,例如:而是ISO-8859。
答案 1 :(得分:0)
您需要让浏览器知道在输出实际JSON之前通过发送HTTP标头将数据解释为UTF-8,如下所示:
header('Content-Type:application / json; charset = utf-8');
请注意,必须在任何其他输出之前发送标头。您应该阅读HTTP规范并了解如何使用标头。这是a link to get you started,用PHP发送HTTP头。
<强>更新强>
在这样的实例中,发送了正确的标头,确保测试机器上的区域设置允许UTF-8字符非常重要。如果系统上的默认语言环境不支持UTF-8,并且您没有安装,那么您将永远看不到正确的输出。您可以阅读a little more about this here