0

我的文本来自一个充满重音符号的 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");但没有成功。

那么这可能是什么原因呢?

4

1 回答 1

4

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

于 2013-02-19T14:17:49.243 回答