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) . ' } ) ' ;
易探云怎么样?易探云香港云服务器比较有优势,他家香港BGP+CN2口碑不错,速度也很稳定。尤其是今年他们动作很大,推出的香港云服务器有4个可用区价格低至18元起,试用过一个月的用户基本会续费,如果年付的话还可以享受8.5折或秒杀价格。今天,云服务器网(yuntue.com)小编推荐一下易探云国内云服务器优惠活动,北京和深圳这二个机房的云服务器2核2G5M带宽低至330.66元/年,还有高配云服务器...
美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...
LOCVPS发来了针对元旦新年的促销活动,除了全场VPS主机8折优惠外,针对德国/荷兰KVM #1/美国KVM#2 VPS提供终身7折优惠码(限量50名,先到先得)。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐优先选择KVM),均选择直连或者优化线路,国内延迟低,适合建站或远程办公使...