日期:2014-05-17  浏览次数:20439 次

PHP编程 网页上获取不了中文 都是???,但是phpadmin里数据库显示中文
<?php
$conn = mysql_connect("localhost","root","1234") or die("不能连接数据库服务器:".mysql_connect_errror());
mysql_select_db("messtest",$conn);
$results = mysql_query("select * from gbbook");
mysql_query($results,$conn);

mysql_query("setnames 'utf8'",$conn);//使用中文编码;
while($row = mysql_fetch_row($results)){
echo $row[0]."".$row[1]."".$row[2]."".$row[3]."".$row[4];
echo"<br />";
}
mysql_close($conn);
?>

------解决方案--------------------
mysql_query("set names 'utf8'",$conn);//使用中文编码;
------解决方案--------------------
将浏览器和php文件都统一为gbk编码,首行加上:
header("content-type:text/html;charset=gbk")
------解决方案--------------------
你看看你的mysql安装时的编码格式是什么在(MySQL的安装目录下)my.ini里面找到"default-character-set"(有两处)看假如是latin改为gbk 或者 utf-8,中文支持的编码格式可以是gbk utf-8  
//假如是纯php不包括html代码就加上下面这段代码
header("content-type:text/html;charset=gb2312")或者header("content-type:text/html;charset=gbk")

//如果既有php还包括html代码就只加上下面这段代码
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
------解决方案--------------------
最好确认下你的数据库编码和页面显示编码。编码要一致。
------解决方案--------------------
你好 我知道你哪里出错了。我此时正碰的你的问题但是我解决了。

你有这么一段:mysql_query("setnames 'utf8'",$conn);//使用中文编码;不仅写错了,而且你只设置了 setnames数据表为 utf8 编码,而不是整个数据库。你应该删除然后加上mysql_query("SET NAMES utf8");在mysql_query($results,$conn);的下面。

我是新手你也是。

我把网页设置为 utf8  但是我的数据库字段设置的是gbk。同样没有出错,能够读取汉子。


------解决方案--------------------
页面编码也要改
最前面加上
header("content-type:text/html;charset=utf-8");
数据库加上
mysql_query("set names 'utf8'");