$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);//使用中文编码;
试过了,没用。
mysql_query("setnames 'utf8'",$conn);//使用中文编码;
mysql_query("setnames 'utf8'",$conn);
mysql_query("set names 'gb2312'",$conn);
mysql_query("set names 'gbk'",$conn);
全都试过,都没用啊!我phpadmin里面用的是gb2312;
将浏览器和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代码就只加上下面这段代码
phpmyadmin是会自己调整的,你得确认你的程序是什么编码,你的数据库是什么编码。要统一。
最好确认下你的数据库编码和页面显示编码。编码要一致。
都按上述的改过之后,还是不行,还有其他办法没有,是什么问题???
1.my.ini里面已经将latin改成gbk;
2.数据库我原先用的是gb2312,现在也改成gbk了
3.这段代码页加了
没有用啊,求大神再指教
一般来说。。
1.页面的字符编码
2.数据库的字符编码
3.读取数据库代码设置的字符编码
这三者一致就不会出现问题
你好 我知道你哪里出错了。我此时正碰的你的问题但是我解决了。
你有这么一段: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'");
mysql_query("setnames 'utf8'",$conn);//使用中文编码;
这句话应该放在连接数据库后面
$conn = mysql_connect("localhost","root","1234") or die("不能连接数据库服务器:".mysql_connect_errror());
mysql_select_db("messtest",$conn);
mysql_query("setnames 'utf8'",$conn);//使用中文编码;
...
...