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

MySQL 中文亂碼徹底解決:庫、表、連接、系統變量四層統一

     編輯:MySQL 資料庫相關知識

亂碼根因

  1. Server 默認字符集為 latin1。
  2. 建庫/建表未顯式指定字符集,繼承 Server 默認。

三步統一字符集

1. 建庫指定

CREATE DATABASE test CHARACTER SET utf8 COLLATE utf8_general_ci;

2. 建表指定

CREATE TABLE content (
  text VARCHAR(100)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3. 連接層指定(關鍵)

應用/驅動發送 SET NAMES utf8 或連接參數 characterEncoding=utf8,確保 character_set_client/connection/results 均為 utf8。

驗證配置

SHOW VARIABLES LIKE '%char%';

期望輸出關鍵項均為 utf8:
character_set_client/connection/database/results/server/system。

總結

「庫、表、連接、系統」四層統一 utf8(或 utf8mb4`),亂碼自然消失。新項目建議直接全鏈路 utf8mb4。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved