json_encode,中文被编码成Null的解决办法
这种情况,一般出现在文档编码或者输出的内容编码是非UTF-8时,也就是说,GBK或者GB2312的中文,就会出现编码失败的现象。
Google了一下,很简单,为了与前端紧密结合,Json只支持Utf-8编码,我认为是前端的Javascript也是Utf-8的原因。
知道了这一点,以下的代码就好写了。这里给出一个Demo,备忘。
[php]$array = array(‘title’=>iconv(‘gb2312′,’utf-8′,’这里是中文标题’),’body’=>’abcd…’);
echo json_encode($array);[/php]
编码以后的内容就成了这样:
[js]{"title":"\u8fd9\u91cc\u662f\u4e2d\u6587\u6807\u9898","body":"abcd…"}[/js]
大师,什么时候出山,这里还需要你来搞几个规则呢!