3 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
我找到了解決該問題的另一種方法:
在 Connection 類中更改:
return DriverManager.getConnection("jdbc:mysql://localhost:3306/test_wim", "root", "*******");
至:
return DriverManager.getConnection( "jdbc:mysql://localhost:3306/test_wim?characterEncoding=latin1&autoReconnect=true&useSSL=false&useTimezone=true&serverTimezone=UTC", "root", "*******");
這里重要的是:
characterEncoding=latin1

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
該錯(cuò)誤與 MySQL 8.0 中默認(rèn)字符編碼的更改有關(guān),因此使用不理解新編碼的舊連接器將失敗。如果您已更新到最新的 MySQL Connector/J(8.0 版),您還必須進(jìn)行一些更改。其中之一是類名已更改為 com.mysql.cj.jdbc.Driver,否則您可能仍使用舊驅(qū)動(dòng)程序。
另請(qǐng)參閱 Connector/J 的 MySQL 升級(jí)文檔: https ://dev.mysql.com/doc/connector-j/8.0/en/connector-j-upgrading-to-8.0.html

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
要解決此問題,您可以在管理部分的選項(xiàng)文件中更改 mysql 工作臺(tái)中的數(shù)據(jù)庫設(shè)置。
對(duì)于 character-set-server,將值更改為 latin1,將 collation-server 更改為 latin1_swedish_ci。
添加回答
舉報(bào)