php中文网

PHP json_encode() 编码中文出现乱码,如何解决?

php中文网

json 编码中的中文乱码问题

在使用 php 的 json_encode() 函数将中文数据编码为 json 时,可能会出现中文乱码的情况。

在您提供的代码中,$users 数组中包含了以下数据:

"name": "杨"

编码后的 json 字符串中,"name" 的值显示为 "u6211"。这是因为 php 默认使用 utf-8 编码,而 utf-8 编码中文时,会使用 unicode 码点。u6211 就是中文字符 "杨" 的 unicode 码点。

立即学习“PHP免费学习笔记(深入)”;

因此,显示为乱码的原因是因为您在查看 json 字符串时没有正确解码 unicode 码点。

解决方法:

要避免此问题,可以在以下步骤中解决:

  • 确保您的 web 服务器、数据库和 php 文件均使用 utf-8 编码。
  • 在 php 文件中显式设置 json 头部 content-type: application/json; charset=utf-8。
  • 在解析 json 字符串时,使用支持 unicode 解码的函数或库,例如 php 的 json_decode() 函数或 javascript 的 json.parse() 方法。

以上就是PHP json_encode() 编码中文出现乱码,如何解决?的详细内容,更多请关注php中文网其它相关文章!