MySQL 8.4 版本注意事項
utf8mb4
字元集具有以下特性:
支援 BMP 和補充字元。
每個多位元組字元最多需要四個位元組。
utf8mb4
與 utf8mb3
字元集形成對比,後者僅支援 BMP 字元,且每個字元最多使用三個位元組。
對於 BMP 字元,
utf8mb4
和utf8mb3
具有相同的儲存特性:相同的程式碼值、相同的編碼、相同的長度。對於補充字元,
utf8mb4
需要四個位元組來儲存它,而utf8mb3
根本無法儲存該字元。 當將utf8mb3
欄位轉換為utf8mb4
時,您無需擔心轉換補充字元,因為根本沒有補充字元。
utf8mb4
是 utf8mb3
的超集合,因此對於以下串連等運算,結果的字元集為 utf8mb4
,校對為 utf8mb4_col
:
SELECT CONCAT(utf8mb3_col, utf8mb4_col);
同樣,WHERE
子句中的以下比較會根據 utf8mb4_col
的校對工作:
SELECT * FROM utf8mb3_tbl, utf8mb4_tbl
WHERE utf8mb3_tbl.utf8mb3_col = utf8mb4_tbl.utf8mb4_col;
有關與多位元組字元集相關的資料類型儲存資訊,請參閱 字串類型儲存需求。