JDBC报The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized (时区错误)
这是我之前学习JDBC遇到的一个问题,有人说这是在使用MySQL 8.0以上版本(MySQL连接驱动和版本都是8.0以上)的时候出现的错误;
但是我mysql使用的5.7版本,连接驱动使用的是8.0.13版本;
怎么解决呢?
我也查了很多方法,但亲测最简单的是在url参数后面加上 serverTimezone=GMT%2B8 参数,设置它的时区为东八区。
String url="jdbc:mysql://localhost:3306/db1?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2B8";
String username="root";
String password="root";
Connection conn = DriverManager.getConnection(url, username, password);
Statement stat = conn.createStatement();
useUnicode使用Unicode编码,就可以支持中文,
characterEncoding=utf8,设置字符集编码utf8,
useSSL=true,使用安全连接,就可以保证不会受到乱七八糟的错误造成的一些异常。
这些基本都是固定写法, 记下来就行。
其他比较麻烦的就不说了。