mysql插入中文数据报错 java.sql.SQLException: Incorrect string value: '\xE5\x90\x88\xE8\xAE\xA1' for column

    向mysql数据库中insert 中文信息的时候,会报这个错误。昨天为了这个错误折腾我好久,原因其实。。。让我捧腹。觉得很有必要记录下来,以免以后再犯这种小迷糊。

    昨天试了很多,比如到C:\Program Files (x86)\mysql\MySQL Server 6.0\my.ini,把client和server的字符集都设成gb2312    即 default-character-set=gb2312,然后重启mysql service和client 。 以及  "create table  user(id varchar(7) primary key,name varchar(20)) charset utf8 collate utf8_general_ci);"(这样有用,但是总不能以后每次添加的时候都加吧)。甚至还有一些人建议过滤字符呀之类的方法,总之感觉都是浪费时间,不能解决根本。


出现这种问题的根本就是在数据库,说什么字符是latin呀之类的错误,其实还是

    1.我们创建数据库的时候没有更改数据库的字符集为utf8。

在mysql工具中,右击数据库,->"改变数据库",->选择“基字符集”为utf-8;


    2,数据库中表的字符集没有更改。

右击数据库表,->"改变表",->选择“字符集”为utf-8;

好了,就这两步。更改一下就OK了。



你可能感兴趣的:(mysql插入中文数据报错 java.sql.SQLException: Incorrect string value: '\xE5\x90\x88\xE8\xAE\xA1' for column)