MySQL读取中文数据的问题,在MySQL的命令行界面是可以读出中文的,但是在PHP里面读出来的就是问号

<?php$db=@newmysqli("localhost","root","123456","test");if(mysqli_connect_errno()){ec... <?php
$db=@new mysqli("localhost", "root", "123456","test");
if(mysqli_connect_errno()){
echo "数据库连接失败!<br>\n";
echo mysqli_connect_error();
exit;
}
$sql = "select * from t_user";
$rs = $db->query($sql);
if(!$rs){
$db->close();
echo '查询失败!';
exit;
}
$db->query("set names gb2312");
echo "<table border='1' bgcolor='lightblue'>";
echo "<tr><th>用户名</th><th>密码</th><th>姓名</th><th>Email</th></tr>";
while($row = $rs->fetch_assoc()){
echo "<tr><td>{$row['f_username']}</td>";
echo "<td>{$row['f_password']}</td>";
echo "<td>{$row['f_name'] }</td>";
echo "<td>{$row['f_email']}</td></tr>\n";
}
echo "</table>";
$db->close();
?>
MySQL编码设置如图!
跪求大大们指点!
展开
 我来答
curd3306
2011-05-01
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
很明显是编码问题:
====================
要想不出现乱码
请确保:如下几个地方编码相同。
-------------------------------
拿gb2312来说
1、你的数据库编码为gb2312.
2、你的数据库连接为gb2312.
3、你的php文件,html文件编码是gb2312
===================

看了你的php代码。
你用到了 $db->query("set names gb2312");,但是你位置放错了。
你应该是放在sql语句执行以前。如下:
-------------------------
$db->query("set names gb2312")
$sql = "select * from t_user";
$rs = $db->query($sql);

这样就OK了,你重新写一条数据进去,再查一下试试。

希望我的答案能帮到你,:)
街头蜘蛛
2011-05-01
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
<?php
$db=@new mysqli("localhost", "root", "123456","test");
if(mysqli_connect_errno()){
echo "数据库连接失败!<br>\n";
echo mysqli_connect_error();
exit;
}
mysql_query("set names gb2312");
追问
大大 这个不行啊!
运行时报错啊!!
Fatal error: Call to undefined function mysql_query() in D:\Mysite\Study\try.php on line 9
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huang2jing
2011-05-01
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
编码问题,把utf8改成gb2312再试试
追问
怎么改最后面那个utf8???
用set character_set_system utf8改不了。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式