java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized解决办法

用JDBC连接mysql使用database.properties出现异常。
database.properties如下:
jdbc.driver=mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/corejava
jdbc.username=root
jdbc.password=Federer1568
异常信息:
java.sql.SQLException: Unsupported character encoding 'UTF-8"'
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:85)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:451)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:247)
	at jdbc.TestDB.getConnection(TestDB.java:20)
	at jdbc.TestDB.runTest(TestDB.java:24)
	at jdbc.TestDB.main(TestDB.java:37)
Caused by: com.mysql.cj.exceptions.WrongArgumentException: Unsupported character encoding 'UTF-8"'
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
	at com.mysql.cj.util.StringUtils.getBytes(StringUtils.java:287)
	at com.mysql.cj.jdbc.JdbcPropertySetImpl.postInitialization(JdbcPropertySetImpl.java:64)
	at com.mysql.cj.conf.DefaultPropertySet.initializeProperties(DefaultPropertySet.java:231)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:395)
	... 7 more
Caused by: java.io.UnsupportedEncodingException: UTF-8"
	at java.lang.StringCoding.encode(StringCoding.java:341)
	at java.lang.String.getBytes(String.java:918)
	at com.mysql.cj.util.StringUtils.getBytes(StringUtils.java:285)
	... 10 more
com.mysql.cj.exceptions.WrongArgumentException: Unsupported character encoding 'UTF-8"'
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
	at com.mysql.cj.util.StringUtils.getBytes(StringUtils.java:287)
	at com.mysql.cj.jdbc.JdbcPropertySetImpl.postInitialization(JdbcPropertySetImpl.java:64)
	at com.mysql.cj.conf.DefaultPropertySet.initializeProperties(DefaultPropertySet.java:231)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:395)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:247)
	at jdbc.TestDB.getConnection(TestDB.java:20)
	at jdbc.TestDB.runTest(TestDB.java:24)
	at jdbc.TestDB.main(TestDB.java:37)
Caused by: java.io.UnsupportedEncodingException: UTF-8"
	at java.lang.StringCoding.encode(StringCoding.java:341)
	at java.lang.String.getBytes(String.java:918)
	at com.mysql.cj.util.StringUtils.getBytes(StringUtils.java:285)
	... 10 more
java.io.UnsupportedEncodingException: UTF-8"
	at java.lang.StringCoding.encode(StringCoding.java:341)
	at java.lang.String.getBytes(String.java:918)
	at com.mysql.cj.util.StringUtils.getBytes(StringUtils.java:285)
	at com.mysql.cj.jdbc.JdbcPropertySetImpl.postInitialization(JdbcPropertySetImpl.java:64)
	at com.mysql.cj.conf.DefaultPropertySet.initializeProperties(DefaultPropertySet.java:231)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:395)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:247)
	at jdbc.TestDB.getConnection(TestDB.java:20)
	at jdbc.TestDB.runTest(TestDB.java:24)
	at jdbc.TestDB.main(TestDB.java:37)
解决办法:在database.properties中url后添加?serverTimezone=GMT
测试结果:
Hello World
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值