从Mysql中得到的数据用Json_encode()回传,中文为NULL,如何解决啊???

nmbtzzg 发布于 2011/06/10 17:14
阅读 4K+
收藏 0

js代码:

$.ajax({
     type: "GET",
     url: "select_branch.php" ,
     data: "region=init_region&kind=init_kind" ,
     dataType: "json",
     success: function(data)
	{ 
	  $("#bg_branch").empty();       
	  $.each( data, function(i,n){ $("<option value=data[i].branchno>data[i].branchno</option>")
		.appendTo($("#bg_branch")); });
	 } 
});

PHP代码:

<?php
 include ('../../conn_xxjsj.php');
 $init_region=$_GET['region'];
 $init_kind=$_GET['kind'];
 $init_sql="select branch from xxjsj.$init_kind where region=$init_region";
 $init_query=@mysql_query($init_sql,$conn);
 $init_row=@mysql_fetch_array($init_query);
 $response=$init_row;
 echo json_encode($response);
 //$response = iconv("gb2312", "utf-8", $init_row);
 //echo urlencode(json_encode($response));
 @mysql_free_result($init_query);
 @mysql_close($conn);
 
  ?>

加载中
2
宏哥
宏哥

只用一种编码,UTF-8

如果不是UTF-8 转为UTF8 

1
mark35
mark35
PHP的JSON函数只能用UTF-8(或者只有ASCII),所有要处理的信息必须先转换成UTF-8,或者转编码转换成 ISO-8859-1(那还不如转成UTF-8或者全站用UTF-8了呢)。
0
n
nmbtzzg

$response = iconv("gb2312", "utf-8", $init_row);

是这样吗???

mark35
mark35
是的。 http://php.net/manual/en/function.iconv.php
0
yuaccp2
yuaccp2

在PHP页面最上面加上header('Content-type:text/html;charset=utf-8');

 

返回顶部
顶部