MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
utf8mb3 文字セットには、次の特性があります:
BMP 文字のみをサポート (補助文字はサポートされません)
マルチバイト文字ごとに最大 3 バイトが必要です。
UTF-8 データを使用するが補助文字のサポートが必要なアプリケーションでは、utf8mb3 ではなく utf8mb4 を使用する必要があります (セクション10.9.1「utf8mb4 文字セット (4 バイトの UTF-8 Unicode エンコーディング)」 を参照)。
utf8mb3 および ucs2 では、まったく同じ文字セットを使用できます。 つまり、これらは同じ repertoire を持ちます。
utf8 は utf8mb3 のエイリアスです。文字制限は、名前に明示的ではなく暗黙的です。
utf8mb3 文字セットは非推奨であり、将来の MySQL リリースで削除される予定です。 かわりに utf8mb4 を使用してください。 utf8 は現在 utf8mb3 のエイリアスですが、ある時点では utf8 が utf8mb4 への参照になることが予想されます。 utf8 の意味があいまいにならないように、utf8 ではなく文字セット参照に utf8mb4 を明示的に指定することを検討してください。
utf8mb3 は CHARACTER SET 句、utf8mb3_ は collation_substringCOLLATE 句 (collation_substring が bin, czech_ci, danish_ci, esperanto_ci, estonian_ci など) で使用できます。 例:
CREATE TABLE t (s1 CHAR(1) CHARACTER SET utf8mb3;
SELECT * FROM t WHERE s1 COLLATE utf8mb3_general_ci = 'x';
DECLARE x VARCHAR(5) CHARACTER SET utf8mb3 COLLATE utf8mb3_danish_ci;
SELECT CAST('a' AS CHAR CHARACTER SET utf8) COLLATE utf8_czech_ci;
MySQL では、ステートメントの utf8mb3 のインスタンスが utf8 に即時に変換されるため、SHOW CREATE TABLE、SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNS、SELECT COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS などのステートメントでは、ユーザーには utf8 または utf8_ という名前が表示されます。
collation_substring
utf8mb3 は、CHARACTER SET 句以外のコンテキストでも有効です。 例:
mysqld --character-set-server=utf8mb3
SET NAMES 'utf8mb3'; /* and other SET statements that have similar effect */ SELECT _utf8mb3 'a';
マルチバイト文字セットに関連するデータ型の記憶域の詳細は、文字列型の格納要件 を参照してください。