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) . ' } ) ' ;
主机参考最新消息:JustHost怎么样?JustHost服务器好不好?JustHost好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯5个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!just...
Hostodo在九月份又发布了两款特别套餐,开设在美国拉斯维加斯、迈阿密和斯波坎机房,基于KVM架构,采用NVMe SSD高性能磁盘,最低1.5GB内存8TB月流量套餐年付34.99美元起。Hostodo是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,美国三个地区机房,支持支付宝或者PayPal、加密货币等付款。下面列出这两款主机配置信息。CP...
萤光云怎么样?萤光云是一家国人云厂商,总部位于福建福州。其成立于2002年,主打高防云服务器产品,主要提供福州、北京、上海BGP和香港CN2节点。萤光云的高防云服务器自带50G防御,适合高防建站、游戏高防等业务。目前萤光云推出北京云服务器优惠活动,机房为北京BGP机房,购买北京云服务器可享受6.5折优惠+51元代金券(折扣和代金券可叠加使用)。活动期间还支持申请免费试用,需提交工单开通免费试用体验...