用insert into插入中文后,出现下面的错误。insert into user(uname,upass) values("你好","滚开")
Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column 'uname' at row 1
Elapsed Time:  0 hr, 0 min, 0 sec, 0 ms.根据网上的提示更改了My Sql的字符设置,改成UTF-8,依然不行,但是我新建一个数据库插入中文是可以的,可是在原来的数据库插入时不可以的。我一进更改了原来的数据库表的collation为utf-8.还是不行,谁能告诉我原因吗?我可以直接删除原来的数据库在新建,插入中文是没有问题的,但是谁能告诉我为什么更改了原表还是不行呢?

解决方案 »

  1.   

    现在UTF-8是乱码,那你就把你的编译文件改成UTF-8然后再插入试试
      

  2.   


    javac 应该有encoding选项,另外,源码文件的编码,也要弄成utf-8
      

  3.   

    在连接mysql的uri里面增加两个参数
    jdbc:mysql://localhost:3306/userdb?useUnicode=true&characterEncoding=GBK
      

  4.   

    你是mysql数据库如果你原来在新建数据库时没有指定好编码,那你后来改的话,要改的地方很多的。一个是数据库、还有表,还有表的列的编码。最后才有用