json_encode把中文字符的数组转为json格式

 1 function ch_json_encode($data) {
 2     /**
 3      * 将中文编码
 4      * @param array $data
 5      * @returnstring
 6      */
 7     function ch_urlencode($data) {
 8         if (is_array($data) || is_object($data)) {
 9             foreach ($data as $k => $v) {
10                 if(is_string($v)){
11                     $v=htmlspecialchars($v);
12                 }
13                 if (is_scalar($v)) {
14                     if (is_array($data)) {
15                         $data[$k] = urlencode($v);
16                     } elseif (is_object($data)) {
17                         $data->$k =urlencode($v);
18                     }
19                 } elseif (is_array($data)) {
20                     $data[$k] = ch_urlencode($v);//递归调用该函数
21                 } elseif (is_object($data)) {
22                     $data->$k = ch_urlencode($v);
23                 }
24             }
25         }
26         return$data;
27     }
28     $ret = ch_urlencode($data);
29     $ret =json_encode($ret);
30     return urldecode($ret);
31 }

 

posted @ 2016-01-11 14:48  lokou  阅读(415)  评论(0编辑  收藏  举报