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

MySQL 創建數據庫指定字符集:UTF-8/utf8mb4 標準語句與避坑指南

     編輯:MySQL 綜合教學

標準建庫語句

CREATE DATABASE IF NOT EXISTS `your_db_name`
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;

參數詳解

子句推薦值說明
CHARACTER SET / CHARSETutf8mb4真正的 UTF-8 (4 字節),支持 Emoji、生僻字。舊版 utf8 僅 3 字節,不支持補平面字符
COLLATEutf8mb4_general_ci 或 utf8mb4_unicode_ci_ci = Case Insensitive (大小寫不敏感)。unicode_ci 排序更準確 (遵循 UCA),general_ci 性能略高。新版默認 utf8mb4_0900_ai_ci (MySQL 8.0)

常見誤區與避坑

  1. 使用 utf8 而非 utf8mb4:導致存儲 Emoji (😀) 或生僻字 (𠮷) 報錯 Incorrect string value 或截斷。
  2. 未指定 COLLATE:依賴服務器默認,跨環境遷移時可能導致排序/比較行為不一致。
  3. 表/列級字符集與庫不一致:建表時未顯式指定,繼承庫默認;若庫為 latin1 會產生亂碼。建議建庫、建表、建列、連接參數四層統一聲明 utf8mb4。
  4. JDBC/連接池未設置 characterEncoding=utf8mb4:應用層編碼與數據庫不一致,導致讀寫亂碼。

驗證字符集

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