Home  >  Article  >  Backend Development  >  PHP编程 网页下获取不了中文 都是?但是phpadmin里数据库显示中文

PHP编程 网页下获取不了中文 都是?但是phpadmin里数据库显示中文

WBOY
WBOYOriginal
2016-06-13 12:51:561024browse

PHP编程 网页上获取不了中文 都是???,但是phpadmin里数据库显示中文
$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"
";
}
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代码就只加上下面这段代码

------解决方案--------------------
最好确认下你的数据库编码和页面显示编码。编码要一致。
------解决方案--------------------
你好 我知道你哪里出错了。我此时正碰的你的问题但是我解决了。

你有这么一段: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'");
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn