最近在从MYSQL数据中获取数据并转换成json数据时,发现当数据是中文时,在JQuery端得到的数据是空白或者乱码,研究了网上一些网友给出的解决方法,还是不行,下面的方法是一个网友给出的,也不能解决,过程如下:
php后台代码
数据库数据抓取 (略)foreach ( $row_deptM as $key => $value ) { $row_deptM[$key] = urlencode ( $value ); } echo $row_deptM=urldecode (json_encode($row_deptM));
JQuery前台代码:
测试,得到的json字符串,红色框处中文乱码,如下:
网页上显示
结论:此种方法不能解决PHP中中文乱码的情况。
经过一下午的摸索,终于解决了PHP中文乱码情况。
PHP代码后台
//数据库数据抓取 (略)foreach ( $row_deptM as $key => $value ) { $row_deptM[$key]=mb_convert_encoding($value,'utf-8','gb2312');//这个是重点 } echo json_encode($row_deptM);
JQuery前台代码代码不变。
测试,得到的json字符串,红色框处中文编码:
网页中文显示
结论:此方法解决PHP中文乱码的。供各位网友参考,谢谢!