从数据库中取出的中文为什么是问号

从不吃馍 2017-10-16 05:06:55
php页面是这样的
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
$db_host = 'localhost';//使用的主机名称
$db_user = 'root';//使用的数据库用户名
$db_pwd = 'root';//使用的数据库密码
$db_name ='a3';//使用的数据库名称
$conn = mysqli_connect($db_host, $db_user, $db_pwd, $db_name)or die("数据库链接失败".mysqli_error());
$sql = "select * from www_liuyan2 where xxyymm='$xxyymm'";
if($res=mysqli_query($conn, $sql)){
while ($row= mysqli_fetch_array($res)){
echo "$row[jdzt]";
}
}
};
?>


mysql中jdzt字段的值是:进行中
通过上面的代码执行之后,输出的$row[jdzt]就是3个问号:???
同样的代码 在本地iis环境就可以取得:进行中,服务器的apache环境就取出的是:???
系统环境都是windows,我很好奇问题出在哪。大牛解释下。
我在sql中直接执行select * from www_liuyan2 where xxyymm='321',可以获得jdzt字段为:进行中
放到php进行查询后取出来的就是问号。
已经检查,数据库内容正常,数据库编码utf8,页面编码utf8,,页面其他中文不乱码,只有经过查询后输出的中文为问号???
...全文
1159 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
强仔! 2019-08-08
  • 打赏
  • 举报
回复
引用 3 楼 一起混吧 的回复:
$conn = mysqli_connect($db_host, $db_user, $db_pwd, $db_name)or die("数据库链接失败".mysqli_error());
mysqli_set_charset($conn,"utf8");
$sql = "select * from www_liuyan2 where xxyymm='$xxyymm'";
...
这个有用,老哥厉害了。
从不吃馍 2017-10-16
  • 打赏
  • 举报
回复 3
引用 3 楼 jordan102 的回复:
$conn = mysqli_connect($db_host, $db_user, $db_pwd, $db_name)or die("数据库链接失败".mysqli_error()); mysqli_set_charset($conn,"utf8"); $sql = "select * from www_liuyan2 where xxyymm='$xxyymm'"; ...
这个有用,老哥666 受教了
一起混吧 2017-10-16
  • 打赏
  • 举报
回复 5
$conn = mysqli_connect($db_host, $db_user, $db_pwd, $db_name)or die("数据库链接失败".mysqli_error()); mysqli_set_charset($conn,"utf8"); $sql = "select * from www_liuyan2 where xxyymm='$xxyymm'"; ...
从不吃馍 2017-10-16
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
当表中数据不能按要求转换编码时,就是 ?
那我应该如何破此谜局 去哪查bug啊
xuzuning 2017-10-16
  • 打赏
  • 举报
回复
当表中数据不能按要求转换编码时,就是 ?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧