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) . ' } ) ' ;
CheapWindowsVPS是一家成立于2007年的老牌国外主机商,顾名思义,一个提供便宜的Windows系统VPS主机(同样也支持安装Linux系列的哈)的商家,可选数据中心包括美国洛杉矶、达拉斯、芝加哥、纽约、英国伦敦、法国、新加坡等等,目前商家针对VPS主机推出5折优惠码,优惠后最低4GB内存套餐月付仅4.5美元。下面列出几款VPS主机配置信息。CPU:2cores内存:4GB硬盘:60G...
hosteons当前对美国洛杉矶、达拉斯、纽约数据中心的VPS进行特别的促销活动:(1)免费从1Gbps升级到10Gbps带宽,(2)Free Blesta License授权,(3)Windows server 2019授权,要求从2G内存起,而且是年付。 官方网站:https://www.hosteons.com 使用优惠码:zhujicepingEDDB10G,可以获得: 免费升级10...
profitserver正在对德国vps(法兰克福)、西班牙vps(马德里)、荷兰vps(杜廷赫姆)这3处数据中心内的VPS进行5折优惠促销。所有VPS基于KVM虚拟,纯SSD阵列,自带一个IPv4,不限制流量,在后台支持自定义ISO文件,方便大家折腾!此外还有以下数据中心:俄罗斯(多机房)、捷克、保加利亚、立陶宛、新加坡、美国(洛杉矶、锡考克斯、迈阿密)、瑞士、波兰、乌克兰,VPS和前面的一样性...