PHP utf8和json_encode重音标记问题

时间:2013-02-19 14:09:35

标签: php

我的文字来自一个充满重音标记的CSV。 我检查mb_check_encoding($my_text, 'utf-8')是否为真,是的,是的。 在本文中,我生成了一个应用

的变量$json
json_encode($json,JSON_NUMERIC_CHECK);

var_dump($json)

给出一个数组数组,其中所有奇怪的标记都是正确的(é,ì等),但生成的JSON文本不正确(例如:"Donn\u00e9es"而不是"Données")。

我知道json_encode只适用于utf8编码数据,这就是为什么我在它之前检查它是utf8。 我还尝试添加header("Content-type: application/json; charset=UTF-8");但没有成功。

然后可能是什么原因?

1 个答案:

答案 0 :(得分:3)

这是JSON编码“奇怪标记”的方式,即Unicode字符。在JSON编码的字符串上使用json_decode()时,它将恢复正常。