首页  >  文章  >  数据库  >  如何在 PHP 中使用 json_encode() 正确编码 UTF-8 字符?

如何在 PHP 中使用 json_encode() 正确编码 UTF-8 字符?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-30 16:28:03562浏览

How to Encode UTF-8 Characters Correctly with json_encode() in PHP?

UTF-8 字符编码 json_encode() 的编码问题

问题陈述

使用 json_encode() 函数编码 UTF-8 字符有问题。此函数将值从 LATIN1 编码为 UTF-8 后,输出变为 null。

问题

如何使用 json_encode() 正确编码 UTF-8 值,而不求助于第三方 -

答案

要解决此问题,请按照以下步骤操作:

  1. 创建一个空数组:初始化一个空 $rows 数组来存储编码结果集。
  2. 对行值进行编码: 迭代数据库结果集,使用 utf8_encode 将每行的值转换为 UTF-8。将编码后的行存储在 $rows 数组中。
  3. 编码并回显 JSON: 最后,将 $rows 数组传递给 json_encode() 并回显结果以发送正确编码的 UTF-8 Web 浏览器的值。

以下是示例代码片段:

<code class="php">// Create an empty array for the encoded resultset
$rows = array();

// Loop over the db resultset and put encoded values into $rows
while($row = mysql_fetch_assoc($result)) {
  $rows[] = array_map('utf8_encode', $row);
}

// Output $rows
echo json_encode($rows);</code>

以上是如何在 PHP 中使用 json_encode() 正确编码 UTF-8 字符?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn