首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 中文亂碼徹底解決:從庫表創建到連接參數全鏈路配置

     編輯:MySQL 綜合教學

亂碼根因分析

MySQL 中文亂碼本質是編碼不一致:客戶端發送編碼 ≠ 服務器解析編碼 ≠ 存儲編碼 ≠ 讀取編碼。四個環節任一斷點即產生亂碼。

源頭治理:建庫建表指定字符集

[mysqld]
character_set_server = utf8mb4
collation_server = utf8mb4_general_ci

[client]
default_character_set = utf8mb4

[mysql]
default_character_set = utf8mb4

連接層參數:驅動級別設置

驗證配置生效

語言/框架配置方式
JDBCjdbc:mysql://host:3306/db?characterEncoding=utf8mb4&useUnicode=true&zeroDateTimeBehavior=convertToNull
Python (PyMySQL)charset='utf8mb4' 參數
Go (go-sql-driver/mysql)charset=utf8mb4,utf8 DSN 參數
PHP (PDO)SET NAMES utf8mb4 執行或 DSN charset=utf8mb4