php json_encode 编码,对中文友好
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; } //该片段来自于http://outofmemory.cn
精彩图集
精彩文章