在PHP中,使用 json_encode
函数将数据转换为JSON格式时,如果数据中包含中文字符,默认情况下这些字符会被转换为Unicode编码(例如 \u4e2d\u6587
)。如果你希望保留中文字符而不是转换为Unicode编码,可以通过设置 json_encode
的选项参数来实现。
在 json_encode
函数中,使用 JSON_UNESCAPED_UNICODE
选项可以避免中文字符被转义为Unicode编码。
<?php
$data = array(
'name' => '张三',
'age' => 25
);
// 使用 JSON_UNESCAPED_UNICODE 选项
$json = json_encode($data, JSON_UNESCAPED_UNICODE);
echo $json;
?>
{"name":"张三","age":25}
JSON_UNESCAPED_UNICODE
是 json_encode
函数的一个选项,它告诉函数不要将非ASCII字符(如中文字符)转义为Unicode编码。{"name":"\u5f20\u4e09","age":25}
。Content-Type
为 application/json; charset=utf-8
,以便客户端正确解析。<?php
header('Content-Type: application/json; charset=utf-8');
$data = array(
'name' => '张三',
'age' => 25
);
$json = json_encode($data, JSON_UNESCAPED_UNICODE);
echo $json;
?>
通过以上方法,你可以确保在PHP中使用 json_encode
时,中文字符不会被转义为Unicode编码,从而保留原始的中文字符。