PHP json_encode不能使用中文字符集 [英] PHP json_encode not working with chinese character set

查看:260
本文介绍了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 可以转换编码,也可以使用 mb_convert_encoding

Use iconv for converting encoding, you can also use mb_convert_encoding

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

这篇关于PHP json_encode不能使用中文字符集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆