连接中的相关设置:
"jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312“当我执行SQL语句:CREATE TABLE code(name varchar(255));
               INSERT INTO code VALUES('中国');
后,却出现了如下异常:
SQLException has ocurred while executing the query:'Incorrect string value: '\xD6\xD0\xB9\xFA' for column 'name' at row 1' (error-code='1366', sqlstate='HY000').
这是为什么?
那们朋友知道!请帮个忙。

解决方案 »

  1.   

    你 MySQL 的字符类型所使用的字符集没有设置。解决方法一:
      将建表语句改为:
      CREATE TABLE code(name varchar(255) CHARACTER SET gbk);
      即在每个字符类型说明后加上。解决方法二:
      可以先停掉 MySQL 服务,找到 MySQL 的目录下的 my.ini 文件,
      找到 [mysqld] 组,在里面加上:default-character-set=GBK,
      重启 MySQL 服务,将原来的数据库删除,重新建库这样默认的字符
      集就是 GBK,而不是 Latin1 了。以上两个方法都可以解决,但是强烈推荐方法二(方法一太麻烦得一个一
    个字段的设)。
      

  2.   

    jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312换成jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312就ok了!
      

  3.   

    上面这样只是把内部的字符更改了,你上一次有一个帖子说到还是显示乱码,
    这是由于 MySQL 客户端的显示字符还没有设,只要在 my.ini 的 [mysql]
    组中加上:default-character-set=GBK,以后界面上都是按 GBK 字符
    显示了。当然了,如果你不改这个就要每次在进入 MySQL 控制台后输入:SET CHARACTER SET gbk;
    这样是比较麻烦的,因为 MySQL 不管是内部存储还是客户端的显示默认采用 latin1 的,也
    就是 ISO-8859-1 字符集的。
      

  4.   

    jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312 换成 jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312 就ok了!
    =========================
    显然不对路!
    my.ini里面的
    [client]port=3306[mysql]default-character-set=xxxx修改为:
    default-character-set=你所要的字符!
      

  5.   

    LZ直接在MySQL的命令行运行下那条插入语句能成功么?
      

  6.   

    不成功!不会吧在 my.ini 的 [mysqld](MySQL服务端) 和 [mysql](MySQL客户端)设好了
    default-character-set=GBK 的话,需要重启服务,并且新建数据库才能有效。
    对已经建好的数据库、数据表是无效的,需要一个一个地手工更改字符集编码。
      

  7.   

    我遇到了和楼主同样的问题,用2楼的方法二解决了,不过有补充:先停掉 MySQL 服务,
    1)修改 MySql安装目录下面的my.ini(MySQL Server Instance Configuration 文件)。 设置
            default-character-set=gbk(注意,有2处)  2)修改data目录中相应数据库目录下的db.opt配置文件 
            将    default-character-set=latin1
    default-collation=latin1_swedish_ci 改为  default-character-set=gbk
    default-collation=gbk_chinese_ci
        重启 MySQL 服务,重新建库,或者在你原来用的库中重新建表(但原来出错的表是绝对不能用了)。