我在MYSQL里,建了一张USER表,编码是GB2312。其中一个属性是USER_name,可当输入中文名字时,mysql就说incorrect string value!我安装时选择的编码方式是GBK啊,然后建表时选择是GB2312啊!为什么插不进去啊!

解决方案 »

  1.   

    每个字段都有编码,你设置为utf8
      

  2.   

    我的版本是5.2的啊,很新的吧!安装的时候选的是GBK啊,我也觉得奇怪怎么插不进中文!难道大家没碰到过这样的问题吗?
      

  3.   

    1.数据库表的编码问题,设成GBK或UTF-8
    2.你插入前的字符串是否没有变成乱码???
      

  4.   

    哦你自己转下码就OK了,GKB转ISO8859-1.没办法,你还没查询那,查询中文时,还需要加参数.
      

  5.   

    lz安装的时候的时候用可能选择的是标准安装,在标准安装里默认的编码是latin1,或就是lz选择了详尽安装但是没有改
    方法1.在开始菜单中选择mysql--->重新配置--->修复,选择详尽的配置,next在字符集下拉列表中选中gbk或gbk2312,然后一直NEXT就行
    方法2.在mysql的配置文件中将字符集改为gbk(mysql的配置文件会因为版本的不同而有所不同,lz可到网上去查一下对应的配置文件名和配置字符集的选项)
      不过用第一个方法就不用这么麻烦了。
        good luck!!!!
      

  6.   

    其实是EMS的问题,EMS的编码也要选择!GB2312
      

  7.   

    记得各种操作之前执行set names 'gb2312'
      

  8.   

    关于mysql的使用,请参考此链接:http://blog.csdn.net/javamxj/archive/2005/01/13/251861.aspx很棒的一篇入门文章,相信,你看完后,就会了