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>

**如果覺得這篇文章對你有幫助,就給個 推薦 吧!**


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM