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="./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/


(结束)

你可能感兴趣的:(jquery的ajax处理php返回数组,及json_encode中文为空的问题)