本文介绍了PHP json_encode不能使用中文字符集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<?php
header("Content-type: text/csv; charset=GB2312");
$arr = array('丂','亐');
echo json_encode($arr);
?>
代替提供汉字数组,json_encode返回空值。
Instead providing chinese character array, json_encode return null values.
推荐答案
json_encode仅适用于UTF-8编码的字符串。如果您需要从中文编码字符串成功创建有效的json,您需要首先重新编码/转换为UTF-8。
json_encode works with UTF-8 encoded strings only. If you need to create valid json successfully from an Chinese encoded string, you need to re-encode/convert it to UTF-8 first. Then json_encode will just work as documented.
使用 iconv
可以转换编码,也可以使用
Use iconv
for converting encoding, you can also use mb_convert_encoding
$str = iconv("GB2312", "UTF-8", $str);
这篇关于PHP json_encode不能使用中文字符集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!