json_encode 中文

由于json_encode不能将包含中文的非UTF8格式的数组直接传唤为JS格式(“换后中文会变成NULL”)有两种方式可以解决以上问题

(1)转为UTF-8格式

(2)用URLENCODE方法

 1 <?php 
 2 function arrayEncode(&$arr) {
 3 foreach ($arr as $k => $v) {
 4 if (is_array($v)) {
 5 arrayEncode($arr[$k]);
 6 } else {
 7 $arr[$k] = urlencode($v);
 8 }
 9 $keys[]=$k;
10 }
11 foreach ($keys as $key=>$v)
12 {
13 if(is_string($v))
14 {
15 if($keys[$key]!=urlencode($keys[$key]))
16 {
17 $keys[$key]=urlencode($keys[$key]);
18 }
19 }
20 }
21 $t=array_combine($keys, $arr);
22 return urldecode(json_encode($t));
23 }
24 
25  
26 
27 $arr=array("姓名"=>"店小一",
28 "年龄"=>'19',
29 'sex'=>'male'    
30 );
31 echo arrayEncode($arr);
32 
33 
34 //返回值 {"姓名":"店小一","年龄":"19","sex":"male"}
35 ?>

 

 
 
posted @ 2013-06-03 11:10  lllito  阅读(242)  评论(0)    收藏  举报