Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  utf8mb4 文字セット (4 バイトの UTF-8 Unicode エンコーディング)

10.1.10.7 utf8mb4 文字セット (4 バイトの UTF-8 Unicode エンコーディング)

utf8 という名前の文字セットは、文字あたり最大 3 バイトを使用し、BMP 文字だけを含みます。utf8mb4 文字セットは、文字ごとに最大 4 バイトを使用し、補助文字をサポートします。

  • BMP 文字の場合、utf8utf8mb4 のストレージ特性は同一で、コード値、エンコーディング、長さが同じです。

  • 補助文字については、utf8 はこの文字をまったく格納できませんが、utf8mb4 は文字の格納に 4 バイトを必要とします。utf8 はこの文字をまったく格納しないので、utf8 カラムには補助文字がなく、utf8 データを古いバージョンの MySQL からアップグレードするときに、文字の変換やデータの損失について心配する必要はありません。

utf8mb4utf8 のスーパーセットであるので、次の連結のような演算の場合、その結果には utf8mb4 の文字セットと utf8mb4_col の照合順序が含まれます。

SELECT CONCAT(utf8_col, utf8mb4_col);

同様に、次の WHERE 句内の比較は、utf8mb4_col の照合順序に従って行われます。

SELECT * FROM utf8_tbl, utf8mb4_tbl
WHERE utf8_tbl.utf8_col = utf8mb4_tbl.utf8mb4_col;

ヒント: スペースを UTF-8 で保存する場合は、CHAR ではなく VARCHAR を使用してください。そのようにしないと、MySQL では CHAR CHARACTER SET utf8 (または utf8mb4) カラムに対して 3 (または 4) バイトを確保する必要があります。これは、可能性のある最大長が 3 (または 4) バイトであるためです。たとえば、MySQL は CHAR(10) CHARACTER SET utf8mb4 カラムに対して 40 バイトを確保する必要があります。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.