我的文字来自一个充满重音标记的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");
但没有成功。
然后可能是什么原因?
答案 0 :(得分:3)
这是JSON编码“奇怪标记”的方式,即Unicode字符。在JSON编码的字符串上使用json_decode()
时,它将恢复正常。