mybatis插入数据报错:Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_c

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;

 

希望能帮到大家~

所以说一开始建数据库,建表的时候,就要注意!数据库的、表的,字段的字符集和排序规则,不然还要花时间找问题!

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MyBatis 5.0中,"utf8mb4_general_ci"是一种字符集,它使用了UTF-8编码,并且采用了utf8mb4_unicode_ci的排序规则。这个排序规则会考虑字符的Unicode编码和Plane的概念。Unicode字符被分为17个planes,每个plane包含65536个代码点。Plane 0(BMP)包含了世界上各种语言与标记中最常用的字符,而Plane 1(SMP)则包含了表情符号、字母与数学符号、音乐符号、太玄经(太极符号)、装饰符号、扑克牌、麻将符号、箭头扩展和一些世界上各种语言不太常用的文字等等。所以在"utf8mb4_general_ci"字符集中,可以支持更多的字符范围和Unicode编码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MySQL字符编码的讨论:如何处理emoji等4字节的Unicode字符 - utf8mb4 vs. utf8 Collations](https://blog.csdn.net/dduhmy/article/details/42044243)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [如何处理emoji等4字节的Unicode字符 - utf8mb4 vs. utf8 Collations](https://blog.csdn.net/codepython/article/details/50403252)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值