不知为何PHP6.0 用不了
json_encode(
$arr
,JSON_UNESCAPED_UNICODE);后面的参数不让带
成功输出中文。
还是用网上介绍的iconv("gbk","utf-8",$val),转化,但进行了改写这句: $arrRs[$key] = urlencode(iconv('GBK','UTF-8',$value));
function gbktoutf8($arr){
if(is_array($arr) && count($arr)){
foreach($arr as $key=>$value){
if(is_array($value)){
$arrRs[$key] = gbktoutf8($value);
}else{
if(!is_utf8($value)){
$arrRs[$key] = urlencode(iconv('GBK','UTF-8',$value));
}else{
$arrRs[$key] = $value;
}
}
}
return $arrRs;
}
return null;
}
function is_utf8($string)
{
return (utf8_encode(utf8_decode($string)) == $string);
}
echo urldecode(json_encode($arr));
头部别忘了:
header("Content-Type:text/html;charset=utf-8");
成功输出中文。