php数组使用json_encode函数中文被编码成null的原因和解决办法
2017-04-21 11:31
591 查看
大写的囧,提客户处理问题,前端的APP一直在叽叽咂咂,说收到的值是null,弄了半天原来是这个问题,记录下吧
json格式在开发中用的十分广泛。在php中json_encode函数可以直接将数组转成 json格式,十分方便。但是有可能你在使用json_encode函数时,无奈的发现中文被编码成null了。原来json只支持转义utf-8编码格式的中文。php数组使用json_encode函数中文被编码成null的原因是转义gbk 或者别的编码时,中文被忽略了。一般出现在文档编码或者输出的内容编码是非UTF-8时,也就是说,GBK或者GB2312的中文,就会出现编码失败的现象。
php数组使用json_encode函数中文被编码成null的原因和解决办法,如果你的程序是采用utf-8编码,请确保文件保存为utf-8 无bom格式,如果你的程序是gbk的,可以先转成utf-8编码后在使用json_encode函数。
知道了这一点,以下的代码就好写了。这里给出一个Demo,备忘。
$array = array('title'=>iconv('gb2312','utf-8','这里是中文标题'),'body'=>'abcd...');
echo json_encode($array);
编码以后的内容就成了这样:
{"title":"u8fd9u91ccu662fu4e2du6587u6807u9898","body":"abcd..."}
json格式在开发中用的十分广泛。在php中json_encode函数可以直接将数组转成 json格式,十分方便。但是有可能你在使用json_encode函数时,无奈的发现中文被编码成null了。原来json只支持转义utf-8编码格式的中文。php数组使用json_encode函数中文被编码成null的原因是转义gbk 或者别的编码时,中文被忽略了。一般出现在文档编码或者输出的内容编码是非UTF-8时,也就是说,GBK或者GB2312的中文,就会出现编码失败的现象。
php数组使用json_encode函数中文被编码成null的原因和解决办法,如果你的程序是采用utf-8编码,请确保文件保存为utf-8 无bom格式,如果你的程序是gbk的,可以先转成utf-8编码后在使用json_encode函数。
知道了这一点,以下的代码就好写了。这里给出一个Demo,备忘。
$array = array('title'=>iconv('gb2312','utf-8','这里是中文标题'),'body'=>'abcd...');
echo json_encode($array);
编码以后的内容就成了这样:
{"title":"u8fd9u91ccu662fu4e2du6587u6807u9898","body":"abcd..."}
相关文章推荐
- php数组使用json_encode函数中文被编码成null的原因和解决办法
- php数组使用json_encode函数中文被编码成null的原因和解决办法
- php json中文编码为null 的解决办法
- php json中文编码为null的解决办法
- php json中文编码为null的解决办法
- Java JSONObject数组使用时出现"nullpointerexception"的解决办法
- PHP使用json_encode函数时不转义中文的解决方法
- 由于文件编码问题造成json_encode 中文变成null的解决办法
- PHP中json_encode中文被Unicode编码的解决办法
- php 利用 json 传递数组之中文乱码最新解决办法
- php5.4以下版本json不支持不转义内容中的中文解决办法
- php和mysql中uft-8中文编码乱码的几种解决办法
- Android使用json对中文进行编码 使用php接收时进行解码
- php从数据库生成数组,输出中文json,不使用urlencode
- 解决PHP json_encode() 中文自动Unicode编码的函数
- 黄聪:VS2010启动程序提示文件加载 使用 简体中文(GB2312)编码加载文件解决办法
- 使用Eclipse开发php应用,中文提示乱码的解决办法
- PHP - json_decode returns NULL的解决办法
- php和mysql中uft-8中文编码乱码的几种解决办法