我的环境:
windows XP  php5  mysql5我配置mysql数据库时,选择的语言是gbk
创建数据库时create database qyyh default charset=GBK;  创建表时也是default charset=GBK例如人员表user  姓名字段 truename varchar(30)
我利用表单将汉字姓名插入到truename字段中。然后我利用cmd--mysql -u root -p 进入到数据库,
select * from user  
查询结果是:|      26 | wlg      | ??????   | 96e79218965eb72c92a549dd5a330112 | 96e79218965
eb72c92a549dd5a330112 | ±±??  | ??±± | 1231231  |    1286890711 |
汉字的地方出现??±±这样的乱码。 
另外我使用 select * from user where truename like '%张三%'  执行语句时也报错。如何将查询结果显示为汉字?

解决方案 »

  1.   

    查询前先 mysql_query("set names gbk");
      

  2.   

    如果你的网页编码是gb2312的编码的话,写:mysql_query("set names gbk")
    如果你的网页编码是unicode的话,写:mysql_query("set names utf8")
    建议网页和数据库的编码一致~~~
      

  3.   

    mysql_query("set names gbk");  // 看你的数据保存为什么编码就设置什么,如gb2312\gbk\utf8
    mysql_query("select * from .....")
      

  4.   

    做数据库操作的时候先执行 mysql_query("set names gbk")
      

  5.   


    mysql_query("set names 'gbk'");
    or
    mysql_set_charset("gbk",$link);
      

  6.   

    数据库的编码问题吧……改成gbk看看
      

  7.   

    在安装配置mysql数据库时,需要选择什么默认语言?然后如何保证在windows中使用cmd进行查询时,能正常显示汉字?
      

  8.   

    我也遇到过这种情况,我给你说说我是怎么解决的:1.首先进入phpmyadmin,将表中的需要存储中文的字段的整理项改为gbk_chinese_ci。 2.在程序中,连接数据库的时候这样连
    $con = mysql_connect("127.0.0.1", "root", ""); 
    mysql_query("set names 'gbk'"); 
    if (!$con) //如果失败
    {
    die('建立连接失败:' . mysql_error()); //输出出错提示
    }
    mysql_select_db("test", $con);
      

  9.   

    $con = mysql_connect("127.0.0.1", "root", "") or die ("oh no");  
    mysql_select_db("test");
    mysql_query("set names 'GBK'");
    如此一番妥妥的 
      

  10.   

    数据库的安装编码是UTF-8,在查询之前 执行:SET NAMES GBK;
      

  11.   

    建议都统一为utf8执行insert操作前先执行 mysql_query("set names utf8");
      

  12.   

    <?php
    $conn = mysql_connect("localhost","root","") or die ("wrong!");
    $sel = mysql_select_db("newdb",$conn);
    $sql="insert into `new table`(`id`,`name`,`data`)values('','PHP教学',now())";
    mysql_query("set names gbk");
    mysql_query($sql,$conn);
    ?>
    源码测试成功!