zoukankan      html  css  js  c++  java
  • 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>
    

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

  • 相关阅读:
    java基础之接口和多态
    JAVA随笔三
    java基础之多线程
    JAVA随笔二
    java基础之继承补充和抽象类
    java基础之面向对象和继承
    java基础 之IO流随笔
    Java 基础之String随笔
    JAVA随笔一
    python文件处理指针的移动
  • 原文地址:https://www.cnblogs.com/zhuang229/p/11676113.html
Copyright © 2011-2022 走看看