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

MySQL 中文亂碼徹底解決:my.cnf 設定、驗證與 JDBC 連線參數

     編輯:MySQL 資料庫相關知識

MySQL 中文編碼問題完整解決方案

1. 設定檔 my.ini / my.cnf 指定字元集

[client]
default-character-set=gbk

[mysqld]
default-character-set=gbk

若使用 UTF-8,將 gbk 改為 utf8(或 utf8mb4)。MySQL 預設為 latin1。

2. 啟動服務並建立資料庫

修改設定檔後,**必須重啟 MySQL 服務** 才生效,再建立資料庫與資料表。

3. 驗證目前編碼設定

mysql -u root -p
> USE your_database;
> STATUS;

正確輸出應顯示:

Server characterset: gbk
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk

4. JDBC 連線字串參數(可選,新版驅動自動偵測)

jdbc:mysql://host:3306/db?autoReconnect=true&useUnicode=true&characterEncoding=GBK

新版 Connector/J 會自動讀取伺服器 character_set_server,通常可省略此參數。

常見陷阱提醒

  • 設定檔修改後**未重啟服務**直接建表,導致表層級字元集仍為 latin1
  • 資料庫、資料表、欄位、連線四層字元集不一致(需全鏈路一致)
  • UTF-8 建議使用 utf8mb4 完整支援 Emoji 與生僻字
  • 應用程式端(PHP/Java/Python)亦需設定正確字元集
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved