json_encode 编码,对中文友好.
php版本的 json_encode 编码中文内容会使编码后的内容长度大增,使用这个函数对utf-8编码的信息进行json编码,不影响解码,不影响javascript 的使用.内容更清晰直观. 另外,在这,申请管理给帖子加
php版本的 json_encode 编码中文内容会使编码后的内容长度大增,使用这个函数对utf-8编码的信息进行json编码,不影响解码,不影响javascript 的使用.内容更清晰直观. 另外,在这,申请管理给帖子加精.
function jsonx_encode($array) {
static $replace=array();
if(!$replace) {
for($i=0; $i < 0x20; $i++) {
//$t = $find[$i];
$t = chr($i);
$replace[$t] = sprintf("\\u%04x",$i);
}
$replace["\\"]="\\\\";
$replace["\""]="\\\"";
$replace["\t"]="\\t";
$replace["\r"]="\\r";
$replace["\n"]="\\n";
$replace["\x0C"]="\\f";
$replace["\x08"]="\\b";
}
$str = '';
if(is_array($array) || is_object($array)) {
$array = (array) $array;
$is_o = array_keys($array) !== range(0, count($array) - 1);
$str .= ($is_o ? "{" : '[');
$is_start=0;
foreach($array as $k => $v) {
$str .= ($is_start ? "," : '');
$is_start =1;
if($is_o){
$str .= '"';
$str .= strtr($k, $replace);
$str .= '":';
}
$t = __FUNCTION__;
$str .= $t($v);
}
$str .= ($is_o ? "}" : ']');
}
elseif(is_string($array)) {
$str .= '"';
$str .= strtr($array, $replace);
$str .= '"';
}
elseif(is_numeric($array)) {
$str .= $array;
}
else{
$str .= 'null';
}
return $str;
}
精彩图集
精彩文章






