文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>PHP中非UTF-8编码下的JSON处理

PHP中非UTF-8编码下的JSON处理

时间:2009-04-18  来源:kinganeng

PHP自带的json_encode只支持UTF-8编码,其他编码的需要转到UTF-8编码下才能使用。下面是自己写的处理这个问题的函数,分享给大家,希望能对大家有用。注释很详细了,就不说多了,直接看吧。
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; }
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载