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

MySQL 修改預設字符集為 UTF-8 完整步驟(含驗證圖解)

     編輯:MySQL 資料庫相關知識

MySQL 5.6/5.7 預設字符集仍為 latin1,中文環境必須全域切換至 utf8(或 utf8mb4)。本文以 5.6 為例,記錄配置修改、重啟驗證全流程。

1. 查看當前字符集

SHOW VARIABLES LIKE '%char%';

修改前:latin1 為主

2. 修改配置檔

  1. 安裝目錄:C:\Program Files\MySQL\MySQL Server 5.6
  2. 複製 my-default.ini → my.ini
  3. 在 [mysqld] 與 [client] 區段各加一行:
    default-character-set=utf8
  4. 儲存,重啟 MySQL 服務

3. 驗證結果

SHOW VARIABLES LIKE '%char%';

修改後:全 utf8

4. 進階:utf8 vs utf8mb4

  • utf8(MySQL 別名 utf8mb3):僅支援 BMP 平面(3 字節),不支援 Emoji、生僻字
  • utf8mb4:完整 Unicode(4 字節),支援所有字符,**生產環境強烈建議**
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

5. 現有庫表轉換

-- 庫級
ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

-- 表級(含欄位)
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

6. 避坑提醒

  • 修改 my.ini 後必須重啟服務生效
  • 舊版 utf8 不是真正 UTF-8,新專案直接上 utf8mb4
  • collation 推薦 utf8mb4_unicode_ci(Unicode 標準排序)或 utf8mb4_0900_ai_ci(8.0+,效能更好)
  • 連線字符集:應用層執行 SET NAMES utf8mb4 或連線池配置 connectionInitSqls

一勞永逸修正字符集,杜絕「????」、「」亂碼噩夢。

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