首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Java 連接 MySQL 解決中文亂碼:JDBC URL 參數一行搞定

     編輯:MySQL 資料庫相關知識

核心解決方案

在 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);
}

常見坑點提醒

  1. 驅動類名舊版 org.gjt.mm.mysql.Driver 已棄用,請升級 Connector/J 5.1+ 使用 com.mysql.jdbc.Driver(8.0+ 為 com.mysql.cj.jdbc.Driver)。
  2. 資料庫/表/欄位字符集必須與連接參數一致,三者不一致仍會亂碼。
  3. 控制台/日誌輸出亂碼多為終端編碼問題,非資料庫存儲問題。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved