查询MYSQL数据库,最后显示中文全为?,需要添加什么命令,加在哪,请大家帮忙
<?php
$mysqli = new mysqli("localhost", "root", "root", "school");
mysql_query('set names gb2312'); 
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}$query = "SELECT sname,sc.sno,deptno,cname,cnum,cdept FROM sc,student WHERE sc.sno=student.sno and sc.sno like '".$_GET["s"]."%'";if ($result = $mysqli->query($query)) {    /* fetch object array */
    while ($obj = $result->fetch_object()) {
        printf ("%s %s %s %s %s %s\n", $obj->sname, $obj->sc.sno,$obj->deptno,$obj->cname,$obj->cnum,$obj->cdept);
    }    /* free result set */
    $result->close();
}/* close connection */
$mysqli->close();
?> 

解决方案 »

  1.   

    首先确定你插入数据库时使用的是gb2312编码
    然后你查询的页面显示也应该为gb2312编码
      

  2.   


    在页面起始处加上:
    header("Content-Type:text/html;charset=gb2312");
      

  3.   

    按照zhoupuyue的该法修改后显示都没有了,数据库文件都是按GB2312整理的
      

  4.   

    database and php and html 编码要一致
      

  5.   

    请问PHP的编码位置在哪,MYSQL的整理编码和HTML都设置成GB2312了
      

  6.   

    数据库要是gb2312的
    php页要是header("Content-Type:text/html;charset=gb2312");
      

  7.   

    回复kyzy:我就是这么设置的,但还是显示?