MySQL版本问题导致的SQLException

背景

​ 学习使用 SpringCloud 时,使用 消费者 调用 生产者 时抛出 SQLException,持久层框架为 MyBatis,数据库为最新版本的 MySQL 版本如下:

Server version: 8.0.17 MySQL Community Server - GPL

问题

​ 当 消费者 调用 生产者 的接口时,生产者端 抛出 SQLException ,如下:

java.sql.SQLException: Unknown character set index for field '255' received from server.

原因

​ MySQL数据库版本高,MySQL的jar包版本低造成MySQL与jar包的编码错乱,如背景所描述,我的版本为 8.0.17

​ MYSQL 5.5 之前, UTF8 编码只支持1-3个字节;从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4;

区别如下:
utf8/utf8mb3与utf8mb4的区别


解决方法

​ 需升级jar包,使用 **mysql-connector-java-5.1.46.jar **或者更高,根据自身mysql版本决定

​ 如果使用Maven,则在pom文件中指定 依赖版本 即可,如下:

<dependency>
   	 <groupId>mysql</groupId>
   	 <artifactId>mysql-connector-java</artifactId>
   	 <version>5.1.46</version>
</dependency>

**如果觉得这篇文章对你有帮助,就给个 推荐 吧!**

原文地址:https://www.cnblogs.com/zhuang229/p/11676113.html