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

MySQL 查看與修改數據庫字符集編碼:從 latin1 遷移到 utf8mb4

     編輯:MySQL 綜合教學

查看當前編碼


USE db_name;
SHOW VARIABLES LIKE 'character_set_database';
+------------------------+--------+
| Variable_name          | Value  |
+------------------------+--------+
| character_set_database | latin1 |
+------------------------+--------+

修改數據庫默認字符集


ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

驗證:再次執行 SHOW VARIABLES LIKE 'character_set_database'; 應顯示 utf8mb4。

關鍵說明

  • ALTER DATABASE 僅修改**新建表**的默認字符集,**現有表不受影響**
  • 需逐表轉換:ALTER TABLE tbl CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • utf8mb4 支持 4 字節字符(Emoji、生僻字),utf8 僅支持 3 字節,**強烈建議全鏈路使用 utf8mb4**

全鏈路字符集配置清單


# my.ini / my.cnf
[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'

應用層連接字符串

  • JDBC:jdbc:mysql://host:3306/db?characterEncoding=utf8mb4&useSSL=false
  • Python:charset='utf8mb4'
  • PHP PDO:charset=utf8mb4
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved