今天在做一个小项目的时候遇到
Incorrect string value: '\xC7\xA8\x8B...' for column 'sex' at row 1
一看!简单啊,首先去看看数据库的字符集是否正确
alter database shoes default character set utf8;
再去看数据表的字符集是否正确
alert table user default character set utf8;
再来因为我是前端传来的数据,所以对request进行编码设置
request.setCharacterEncoding("utf-8");
然后是数据连接URL的字符集设置
jdbc:mysql://127.0.0.1/shoes?useUnicode=true&characterEncoding=UTF-8
嗯!大功告成!运行一看,卧槽?为什么还是这样!
最后发现,我去!列的编码还得改阿亲!
所以填上修改列编码的设置,为了保险起见,把所有的varchar类型的字符编码都改成了UTF8
alter table user change sex sex character set utf8;