发布网友
共1个回答
热心网友
工作中常常遇到这样的问题:想把一个字符串转换为json格式,但是直接用php自带的json_encode(),会出现乱码,怎么办呢? 不要急,下面这个函数可以解决这个问题。 function ch_json_encode($data) { function ch_urlencode($data) { if (is_array ( $data ) || is_object ( $data )) { foreach ( $data as $k => $v ) { if (is_scalar ( $v )) { if (is_array ( $data )) { $data [$k] = urlencode ( $v ); } else if (is_object ( $data )) { $data->$k = urlencode ( $v ); } } else if (is_array ( $data )) { $data [$k] = ch_urlencode ( $v ); // 递归调用该函数 } else if (is_object ( $data )) { $data->$k = ch_urlencode ( $v ); } } } return $data; } $ret = ch_urlencode ( $data ); $ret = json_encode ( $ret ); return urldecode ( $ret ); }