PHP json_encode无法使用中文字符集

时间:2013-05-06 11:42:53

标签: php encoding character-encoding json

<?php
header("Content-type: text/csv; charset=GB2312");
$arr = array('丂','亐');
echo json_encode($arr);
?>

而是提供中文字符数组,json_encode返回空值。

1 个答案:

答案 0 :(得分:3)

json_encode仅适用于UTF-8编码的字符串。如果需要从中文编码字符串成功创建有效的json,则需要先将其重新编码/转换为UTF-8。然后json_encode将按照记录的方式工作。

使用iconv转换编码,您也可以使用mb_convert_encoding

$str = iconv("GB2312", "UTF-8", $str);