SQLException之驱动版本不匹配

java.sql.SQLException: Unknown initial character set index ‘255’ received from server. Initial client character set can be forced via the ‘characterEncoding’ property.

1.错误信息:

java.sql.SQLException: Unknown initial character set index ‘255’ received from server. Initial client character set can be forced via the ‘characterEncoding’ property.
错误提示

2.错误产生原因:

Mysql驱动与数据库字符集设置不匹配(可能是Mysql版本过高,在8.0版本及以上;也可能是jre版本过高。),导致系统环境变量受影响。

3.不匹配的原因:
(1)一般来说5.1匹配的是mysql8.0以下的版本
(2)8.0版本的mysql-connector-java才是匹配MySql的8.0版本

4.解决办法(主要针对MySQL版本过高):
(1)下载与MySQL相匹配的jre版本
jre8.0.17的资源:
链接:https://pan.baidu.com/s/1cnp1IVqA0JpO5T7XosiyDw
提取码:sm3q
将下载来的文件Copy到以下位置
在这里插入图片描述

*(2)修改连接时的url以及Class.forName()
①url的修改:
String url = "jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL";
(亲测有效,更全面)
【也可以改为:
String url = "jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=UTF-8
②Class.forName()的修改:
Class.forName("com.mysql.cj.jdbc.Driver");
(在mysql后加上.cj)

5.问题解决:
连接成功
Fighting together!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值