php对象转json中文乱码
在进行 Web 开发时,经常会用到 JSON,将对象转换为 JSON 数据,并通过 AJAX 进行异步传输。然而在使用 PHP 后台进行 JSON 格式化输出时,可能会遇到对象转换为 JSON 格式后中文乱码的情况。本文将介绍如何解决这个问题。
问题描述
在 PHP 代码中,我们使用 json_encode() 函数将对象转换成 JSON 格式的字符串,然后通过 echo 输出。但是,当 JSON 中包含中文时,就会出现乱码的情况,如下图所示:

清晰的中文被转换为了乱码,这对用户和开发者都是不友好的。接下来,我们将介绍三种解决方法。
解决方法
方法一:手动将中文编码
在 json_encode() 函数前加上 json_encode()->mb_convert_encoding(),将中文手动编码成 utf-8。
示例代码如下:
'张三',
'age' => 18,
'gender' => '男'
];
echo mb_convert_encoding(json_encode($arr, JSON_UNESCAPED_UNICODE), 'UTF-8');
?>

发表评论