这个问题搞了好久。
百度。谷歌里面的方法都试了。别人行。我的就不行。。真是太杯具了
老是插入不了中文如果把编码设置成gbk那就没问题。但是设置成utf8就是不能插入。
什么设置字段编码。数据库编码。表的编码。都试过了。set names utf8也是试过N次了。
在建立表的时候。ENGINE=MyISAM DEFAULT CHARSET=utf8也是试过了。在mysql配置的时候也是设置的uft8。在mysql命令模式下查看的编码也是uft8
但是在插入的也要出问题mysql> insert into a values ('测试');
ERROR 1366 (HY000): Incorrect string value: '\xB2\xE2\xCA\xD4' for column 't' at row 1各位大哥。帮帮我吧。在此小弟谢过了。

解决方案 »

  1.   

    WINDOWS 下的DOS并不支持UTF8.你可以创建表为UTF8,但在DOS命令行中输入 set names 'gbk';
      

  2.   


    那样的话。在网页里面显示的就是乱码了
    我网页设置的编码是UTF8。
      

  3.   

    之前我也遇到类似问题,确实很蛋疼
    重新配置mysql
    把编码改成gbk
    这样就行了
    楼主是用jsp来显示的吗?
      

  4.   

    在my.ini文件[client]节中default-character-set=gbk,[mysqld]节中default-character-set=utf8就可以了,这样你通过客户端连接的时候就会使用gbk编码,存进数据库中编码使用utf8。
      

  5.   

    dos下不支持直接使用utf8,
    set names gbk, 再插入即可。
      

  6.   

    命令行下不支持UTF8
    set names gbk, 再插入试试
      

  7.   

    其实引起乱码的主要原因就是字符集的原因,你使用show variables like 'character%'和show variables like 'collation%'查看一下字符集和校验规则是否合适
      

  8.   

    我用的是PHP。  设置成GBK。没问题。最开始也是没问题。 但是我网页的编码设置成的UTF8。
      

  9.   


    这怎么可能?
    (1)你一楼说这个狼头大哥已经说过的那个原因,是因为CMD里面不支持UTF-8的,要设置成GBK的。
    (2)我用的是PHP。 设置成GBK。没问题。最开始也是没问题。 但是我网页的编码设置成的UTF8。
    第二点的问题怎么可能,及时你的网页程序这边都是UTF-8的,但是数据库用GBK的,也是没有问题的。关键是要统一。程序这边都要统一为UTF-8,数据库那边都统一为UTF8。我是出来都是统一为UTF-8、UTF8的,从来没乱码[x MySPHP 5.QL5.x]。数据库出了校对之外,还有表的字符集,然后每个字段都有字符集的,你检查下你的这三种是不是都统一了。
      

  10.   

    汗。谢谢各位。问题解决了。要不是大家这个问题没办法解决。呵呵我忘了在PHP里面加上这么一句mysql_query("set names utf8");加上这么一句过后问题就解决了。结贴