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) . ' } ) ' ;
horain怎么样?horain cloud是一家2019年成立的国人主机商家,隶属于北京辰帆科技有限公司,horain持有增值电信业务经营许可证(B1-20203595),与中国电信天翼云、腾讯云、华为云、UCloud、AWS等签署渠道合作协议,主要提企业和个人提供云服务器,目前商家推出了几款特价物理机,都是在内地,性价比不错,其中有目前性能比较强悍的AMD+NVMe系列。点击进入:horain...
tmthosting怎么样?tmthosting家本站也分享过多次,之前也是不温不火的商家,加上商家的价格略贵,之到斯巴达商家出现,这个商家才被中国用户熟知,原因就是斯巴达家的机器是三网回程AS4837线路,而且也没有多余的加价,斯巴达家断货后,有朋友发现TMTHosting竟然也在同一机房,所以大家就都入手了TMTHosting家的机器。目前,TMTHosting商家放出了夏季优惠,针对VPS推...
vinahost怎么样?vinahost是一家越南的主机商家,至今已经成13年了,企业运营,老牌商家,销售VPS、虚拟主机、域名、邮箱、独立服务器等,机房全部在越南,有Viettle和VNPT两个机房,其中VNPT机房中三网直连国内的机房,他家的产品优势就是100Mbps不限流量。目前,VinaHost商家发布了新的优惠,购买虚拟主机、邮箱、云服务器、VPS超过三个月都有赠送相应的时长,最高送半年...