在 JDBC 連接字串中顯式指定字符集參數:
jdbc:mysql://localhost/acctest?useUnicode=true&characterEncoding=gbk
useUnicode=true:啟用 Unicode 支援。characterEncoding=gbk:告訴驅動程式以 GBK 編碼收發資料(對應 MySQL 端 gbk 或 gb2312 字符集)。若資料庫使用 UTF-8,改為 characterEncoding=utf8 即可。無需在 Java 代碼額外轉碼,驅動層自動處理編碼轉換。
DbUtility 關鍵片段private String DBUrl = "jdbc:mysql://localhost/acctest?useUnicode=true&characterEncoding=gbk";
private String DBDriver = "com.mysql.jdbc.Driver"; // MySQL Connector/J 5.1+ 建議類名
public Connection getAConnection() {
Class.forName(DBDriver).newInstance();
return DriverManager.getConnection(DBUrl, DBUser, DBPass);
}
org.gjt.mm.mysql.Driver 已棄用,請升級 Connector/J 5.1+ 使用 com.mysql.jdbc.Driver(8.0+ 為 com.mysql.cj.jdbc.Driver)。