参考下贴中的检查方法,贴出你的检查结果。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

解决方案 »

  1.   

    插入的字段,有没有设置字符集?
    CREATE TABLE `t`(
      `id` INT(1),
      `name` VARCHAR(20) CHARACTER SET gbk NOT NULL /* 这里有没有设置呢?? */
    )DEFAULT CHARSET=utf8;
      

  2.   


    试了一下,CREATE TABLE时在字段name字段后指定CHARACTER SET gbk,用SHOW FULL COLUMNS FROM test;显示已经转换成gbk了。
    之后INSERT INTO test VALUES(0,'汉字');还是不行(把'汉字'换成'english'就可以),后来又CHARACTER SET gb2312,也不行。无语了
      

  3.   

    能把你的表结构帖出来吗??
    还有...你是在命令行里测试的把??
    那进入命令行时,有输入
    “SET NAMES gbk;”吗??
      

  4.   

    如果你说的报错的信息是类似于
    ERROR 1366 (HY000): Incorrect string value: '\xBA\xBA\xD7\xD6' for column 'name' at row 1
    那就是你进入命令行时,没有输入
    SET names gbk;
    这条命令,在MySQL命令行中,如果要输入输入汉字,登录MySQL后第一步要输入的就是上面这命令了...
      

  5.   

    嗯,可以了,确实像你说的那样,我在命令行登录的,登录后没有SET names gbk;
    后来登录后输入SET names gbk;就正常了,谢谢。
      

  6.   

    yueliangdao0608这位大哥太牛了。我用vc往mysql中写汉字,总是提示ODBC驱动程序不支持所需的属性。这位大哥说可能是odbc驱动程序版本太低,我下了个最新的果然可以了。太谢谢了。下载地址http://dev.mysql.comhttp://http://dev.mysql.com/downloads/connector/odbc//downloads/connector/odbc/