本篇文章主要介绍了" PHP json_encode 函数详解及中文乱码问题",主要涉及到方面的内容,对于Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能...
在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。
这个函数的功能是将数值转换成json数据存储格式。
?
1 2 3 4 5 6 7 8 9 |
$arr = array
(
'Name' => '希亚' ,
'Age' =>
);
$jsonencode = json_encode( $arr );
echo $jsonencode ;
?>
|
程序运行结果如下:
{"Name":null,"Age":}
json_encode 函数中中文被编码成 null 了,Google 了一下,很简单,为了与前端紧密结合,Json 只支持 utf- 编码,我认为是前端的 Javascript 也是 utf- 的原因。
?
1 2 3 4 5 6 7 8 |
$array = array
(
'title' =>iconv( 'gb' , 'utf-' , '这里是中文标题' ),
'body' => 'abcd...'
);
echo json_encode( $array );
?>
|
这个程序的运行结果为:
{"title":"\u8fd9\u91cc\u662f\u4e2d\u6587\u6807\u9898","body":"abcd..."}
数组中所有中文在json_encode之后都不见了或者出现\u2353等。
解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|