php读取中文数据转json后乱码问题!

$m=M('wujiang');$data['openid']='wang';$arr=$m->where($data)->limit(18)->select();for... $m = M('wujiang');
$data['openid']='wang';
$arr = $m->where($data)->limit(18)->select();

foreach ( $arr as $key => $val ) {
$arr[$key] = urlencode ( $val);
}
echo urldecode ( json_encode ( $arr ) );
读取的数据转成json 后中文是乱码,在网上找了 urldecode 这个方法,没有输出数据,为什么啊?
展开
 我来答
梦山
推荐于2016-04-18
知道答主
回答量:36
采纳率:0%
帮助的人:21.4万
展开全部
json_encode 后 中文会变的,然后你直接url解码肯定是乱的,你的json_decode后,才能转回去。

就好比你把狗锁在笼子里,然后把笼子放到屋子里,这时你拿狗笼的钥匙去直接开屋子的门,是会有问题的。
追问
那我是在前端flash里解json的,也就是说,我现在在浏览器里看到的乱码会在前端flash解json后变成中文的?
追答
是的,JSON编码后,在接收的时候要先JSON解码 然后再去做URL解码
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式