mybatis 插入数据时报的错如下图:(需要navicat 系列的可视化工具)
1、百度出来的解决方法,首先是查询以下两个语句,确保字符集和排序规则正确:
(1)字符集:show variables like 'character_set_%';
正常查出来是这个样子
修改语句:
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
(2)排序规则:show variables like 'collation_%';
修改语句:
set collation_connection=utf8_general_ci;
set collation_database=utf8_general_ci;
set collation_server=utf8_general_ci;
2、这些都修改好之后发现字段值有中文的还是报错,无中文的能保存进去,于是接着百度。
查看该表各字段的字符集:show create table 表名;
然后查看,查出来的建表语句: 可以看到user_name这个字段的字符集还是latin1,这就是问题所在。所以我们要把这个字段的字符集和排列规则修改一下。如图所示,修改后保存就可以正常用mybatis插入数据啦~(有可视化工具的用可视化工具直接改,比较直观。没有的就用语句操作也可以)
或者使用语句修改字段:
alter table user_info change user_name user_name varchar(50) character set utf8;
alter table 表名 change 字段名 字段名 varchar(50) character set utf8;
希望能帮到大家~
所以说一开始建数据库,建表的时候,就要注意!数据库的、表的,字段的字符集和排序规则,不然还要花时间找问题!