JSON通信损坏了特殊字符

JSON communication corrupting special chars

本文关键字:特殊字符 坏了 损坏 通信 JSON      更新时间:2023-09-26

在从在线数据库中检索一些数据时,我不明白为什么有些字符会被"误解"。

我通过PHP应用程序从服务器发送数据,如下所示:

header('Content-Type: application/json');
// tried also header('Content-Type: application/javascript');
// tried also header('Content-Type: application/json; charset=utf-8');
echo json_encode($object);

如果我测试消息,JSON编码的字符串正确地包含以下字符串'u00ec,它表示字母ì

然而,在客户端中,当我检查未解析的字符串时,我会看到以下字符串:'u00c3'u00ac,它们分别表示:ì(这种情况发生在所有特殊字符中,如Bésåúü等)。

因此,当我对响应调用JSON.parse()时,我看到了错误的字符。

你知道我做错了什么吗?

如果您使用的是PHP 5.4<您可以传递JSON_UNESCAPED_UNICODE作为json_encode函数的第二个参数。