用show create table user;查了一下。发现我用的是hibernateTemplate自动建表,表格默认编码是charset=laint1,所以才报这个错。
我用alter table user charset utf8;把表的编码改成了utf8,结果还是报错;
仔细看了一下show create table user;发现每个字段的编码还是没变,还是laint1.
于是用alter table user modify name varchar(225) charset utf8;把需要插入中文的字段都改了一下。
OK!中文插入成功。