加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

PHP json_encode函数中需要注意的地方

发布时间:2021-05-21 04:57:25 所属栏目:大数据 来源: https://www.jb51.cc
导读:在PHP中使用 json_encode() 内置函数可以使用得PHP中的数据更好的与其它语言传递与使用。 这个函数的功能是将数组转换成json数据存储格式: 1 ? PHP 2 $arr = array ('name'='Balla_兔子','age'=22 ); 3 echo json_encode( $arr 4 ? 输出结果: 1 {"name":""

在PHP中使用 json_encode() 内置函数可以使用得PHP中的数据更好的与其它语言传递与使用。

这个函数的功能是将数组转换成json数据存储格式:

1 <?PHP
2     $arr=array('name'=>'Balla_兔子','age'=>22);
3     echo json_encode($arr4 ?>

输出结果:

1 {"name":"","age":22}

json_encode函数中中文被编码成null了,查了下资料,很简单,为了与前端紧密结合,json只支持utf-8编码。

我们可以用iconv函数转换下编码:

1 string iconv ( string $in_charset,$out_charset,1)">$str )
2 Performs a character set conversion on the string str from in_charset to out_charset.//从in_charset编码转为out_charset,str为转换内容
array('name'=>iconv('gbk','utf-8','Balla_兔子'),1)">1 {"name":"Balla_u934fu65bfu74d9","age":22}

在数组里所有中文在json_encode之后都不见了或者出现u934fu65bf等。

解决方法是用urlencode()函数处理下,在json_encode之前,把所有数组内所有内容都用urlencode()处理,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来。

?

1  urlencode ( $str ) UrlEncode:将字符串以URL编码返回 返回值:字符串
 1 <? 2     
 3     urlencode('Balla_兔子'),1)"> 4     
 5     $json=json_encode( 6 
 7     $result=json_decode($json,1)">true);//把json解码并转为数组
 8     
 9     echo urldecode($result['name']);
10 
11 ?>

输出结果:

1 Balla_兔子

?

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读