中文php json_encode实现与中文乱码解决方法

json_encode  时间:2021-01-26  阅读:()

php json_encode实现与中文乱码解决方法php中使用json_encode() 内置函数(php> 5.2)可以使用得php中数据可以与其它语言很好的传递并且使用它。这个函数的功能是将数值转换成json数据存储格式

$arr = array ('a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5) ;echo json_encode($arr) ;

//结果

//{"a": 1, "b":2, "c":3, "d":4, "e":5}

/*

下面看一款json_encode中文乱码问题

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

*/function arrayrecursive(&$array, $function, $apply_to_keys_also = false)

{static $recursive_counter = 0;if (++$recursive_counter > 1000) {die('possible deep recursion attack' ) ;

}foreach ($array as $key => $value) {if (is_array($value) ) {arrayrecursive($array[$key] , $function, $apply_to_keys_also) ;

} else {

$array[$key] = $function($value) ;

}if ($apply_to_keys_also && is_string($key) ) {

$new_key = $function($key) ;if ($new_key != $key) {

$array[$new_key] = $array[$key] ;unset($array[$key]) ;

}

}

}

$recursive_counter--;

}

/**************************************************************

*

*将数组转换为json字符串兼容中文

* @param array $array 要转换的数组

* @return string sscluntano.com转换得到的json字符串

* @access public

*

*************************************************************/function json($array) {arrayrecursive($array, 'urlencode' , true) ;

$json = json_encode($array) ;return urldecode($json) ;

}

$array = array

(

'age'=>20

) ;echo json($array) ;

//应用实例

$servname="localhost";

$sqlservname="root";

$sqlservpws="123456";

$sqlname="lock1";

$db=mysql教程_connect($servname, $sqlservname, $sqlservpws) or die("数据库教程连接失败") ; sscjhrj88.commysql_select_db($sqlname, $db) ;

$sql = "select * from t_operater";

$result =mysql_query($sql) ;

$rows = mysql_num_rows($result) ;while($obj = mysql_fetch_object($result) )

{

$arr[] = $obj;

}echo ' ( {"total":"' . $rows. ' ", "results": ' . json_encode($arr) . ' } ) ' ;

RangCloud19.8元/月,香港cn2云主机,美国西雅图高防云主机28元/月起

rangcloud怎么样?rangcloud是去年年初开办的国人商家,RangCloud是一家以销售NAT起步,后续逐渐开始拓展到VPS及云主机业务,目前有中国香港、美国西雅图、韩国NAT、广州移动、江门移动、镇江BGP、山东联通、山东BGP等机房。目前,RangCloud提供香港CN2线路云服务器,电信走CN2、联通移动直连,云主机采用PCle固态硬盘,19.8元/月起,支持建站使用;美国高防云...

legionbox:美国、德国和瑞士独立服务器,E5/16GB/1Gbps月流量10TB起/$69/月起

legionbox怎么样?legionbox是一家来自于澳大利亚的主机销售商,成立时间在2014年,属于比较老牌商家。主要提供VPS和独立服务器产品,数据中心包括美国洛杉矶、瑞士、德国和俄罗斯。其中VPS采用KVM和Xen架构虚拟技术,硬盘分机械硬盘和固态硬盘,系统支持Windows。当前商家有几款大硬盘的独立服务器,可选美国、德国和瑞士机房,有兴趣的可以看一下,付款方式有PAYPAL、BTC等。...

Sharktech:美国/荷兰独立服务器,10Gbps端口/不限流量/免费DDoS防护60G,319美元/月起

sharktech怎么样?sharktech (鲨鱼机房)是一家成立于 2003 年的知名美国老牌主机商,又称鲨鱼机房或者SK 机房,一直主打高防系列产品,提供独立服务器租用业务和 VPS 主机,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹,所有产品均提供 DDoS 防护。此文只整理他们家10Gbps专用服务器,此外该系列所有服务器都受到高达 60Gbps(可升级到 100Gbps)的保护。...

json_encode为你推荐
名侦探柯南644名侦探柯南铃木园子破案集数小说软件哪个好用免费现在看小说用什么软件好,不用钱的,网页传奇哪个好玩哪个传奇类网页游戏即好玩又不花钱??无纺布和熔喷布口罩哪个好活性碳口罩和无纺布口罩有什么不同?牡丹江教育云空间登录云空间的账号密忘了可是那个上面有不有不让重新申请一个怎么办空间登录页面怎样用网页登录到自己的QQ空间?51个人空间登录我在电脑上用的是Q号登录51个人空间,在手机上怎么却不能用Q号登录51个人空间了qq空间登录不了为什么我的QQ空间登陆不上?YunOSyunOS是手机里的什么软件系统啊?dns服务器未响应DNS服务器未响应
域名商 百度云100as sub-process debian6 hinet 服务器是干什么的 中国电信宽带测速网 hkt 免费ftp 论坛主机 双十二促销 hdsky e-mail nic 卡巴斯基免费下载 海尔t68g winscpiphone ddos攻击软件 次时代主机 魔兽世界网通服务器 更多