分类:
2009-04-18 23:26:13
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
/* +------------------------ json_encode 增强版 可将任意编码的变量编码为json字符串 $in 要处理的变量 $charset 编码 +------------------------ **/ function json_encode_set($in,$charset) { return json_encode(iconv_all($charset,'UTF-8',$in)); } /* +------------------------ json_decode 增强版 上面json_encode_set的逆运算 $in 要处理的json字符串 $charset 编码 $assoc 返回值 false对象 true数组 +------------------------ **/ function json_decode_set($in,$charset='UTF-8',$assoc='false') { return iconv_all('UTF-8',$charset,json_decode($in,$assoc)); } /* +------------------------ iconv 增强版 参数同iconv 原版iconv只能接受字符串 这里的$in可以接受字符串、数组、对象 +------------------------ **/ function iconv_all($in_charset,$out_charset,$in) { if(is_string($in)) { $in=iconv($in_charset,$out_charset,$in); } elseif(is_array($in)) { foreach($in as $key=>$value) { $in[$key]=iconv_all($in_charset,$out_charset,$value); } } elseif(is_object($in)) { foreach($in as $key=>$value) { $in->$key=iconv_all($in_charset,$out_charset,$value); } } return $in; } |