首页 > 代码库 > jquery的ajax处理php返回数组,及json_encode中文为空的问题
jquery的ajax处理php返回数组,及json_encode中文为空的问题
最近又开始学PHP了, 这里碰到一个问题, php 在处理jquery 的 ajax 传回来的 json数据中, 中文部分为空.
数据库为 mysql,
又是php中文编码的问题.
参考截图:
(左图为解决之前, 右图为解决之后)
偶的解决代码:
1, 后端 php ( ajaxRequest/GetNotifyList.php )
$list=array('ID'=>$list[ID], 'Title'=>iconv( 'gb2312', 'UTF-8' , $list[Title])); // 如果这一句不加,就会出现左图效果;反之,问题解决。
<? //header("Content-Type:text/json;charset=UTF-8"); require('../Common/config.php'); $sql='SELECT ID,Title FROM `YOUR_TABLE_NAME` order by createdate desc limit 0, 6'; //echo $sql; mysql_select_db($db,$conn) or die("数据库".$db."连接失败!"); mysql_query("SET NAMES GBK"); $rs=mysql_query($sql) or die(mysql_error()); /* $result=""; while($list=mysql_fetch_array($rs)){ $ID=$list['ID']; $Title=$list['Title']; $result=$result.$ID.":".$Title."|"; } if(!empty($result)) { $result=$result."SELECT_success"; }else { $result="SELECT_empty"; } echo $result; */ $notifies=array(); mysql_query("SET NAMES GBK"); $rs=mysql_query($sql) or die(mysql_error()); while($list=mysql_fetch_array($rs)){ $list=array('ID'=>$list[ID], 'Title'=>iconv( 'gb2312', 'UTF-8' , $list[Title])); $notifies[]=$list; } echo json_encode($notifies); //print ($notifies); //print_r ($notifies); ?>
2, web前端
在 head 之间
<script src=http://www.mamicode.com/"./javascript/jquery-1.8.3.min.js" type="text/javascript" charset="UTF-8"></script>
<script type="text/javascript"> $(document).ready(function(){ var htmlobj=$.ajax({ url:'ajaxRequest/GetNotifyList.php', 'type':'get', dataType:'json', success:function(d){ $.each(d,function(index,item){ //输出 //alert(index); //alert(item.ID+"哈哈"+item.Title); $("#lhScroll").append("<li><a style='color: Green;' href=http://www.mamicode.com/'#' val='"+item.ID+"'>" + item.Title + "");>参考文章: http://unixlzx.blog.163.com/blog/static/1027737522011419492160/
(结束)jquery的ajax处理php返回数组,及json_encode中文为空的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。