最近又开始学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); ?>
在 head 之间
<script src="./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='#' val='"+item.ID+"'>" + item.Title + "</a></li>"); }) } }); }); </script>
参考文章: http://unixlzx.blog.163.com/blog/static/1027737522011419492160/
(结束)