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


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

10.1.10.5 utf8 文字セット (3 バイト UTF-8 Unicode エンコーディング)

UTF-8 (8 ビット単位の Unicode Transformation Format) は Unicode データを格納する別の方法です。これは、1 から 4 バイトを使用するエンコーディングシーケンスについて記述した RFC 3629 に従って実装されています。(UTF-8 エンコーディングの以前の標準である RFC 2279 では、1 から 6 バイトを使用する UTF-8 シーケンスについて記述しています。RFC 3629 は RFC 2279 を無効にするため、5 と 6 バイトのシーケンスはすでに使用されていません。)

UTF-8 の概念は、長さの異なるバイトシーケンスを使用してさまざまな Unicode 文字をエンコードするというものです。

  • 基本的なラテン文字、数字、句読点は 1 バイトを使用します。

  • 拡張ラテン文字 (チルダ、長音符号、アキュート、グラーヴェ、およびほかのアクセント符号)、キリル文字、ギリシャ語、アルメニア語、ヘブライ語、アラビア語、シリア語などのほとんどのヨーロッパおよび中東のスクリプト文字は、2 バイトシーケンスに収まります。

  • 韓国語、中国語、および日本語の表意文字は、3 バイトまたは 4 バイトのシーケンスを使用します。

MySQL 5.6 の utf8 文字セットは 5.6 以前と同じであり、特性もまったく同じです。

  • 補助文字のサポートなし (BMP 文字のみ)。

  • マルチバイト文字ごとに最大 3 バイト。

utf8 では ucs2 とちょうど同じ文字セットを使用できます。つまり、レパートリーも同じです。

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

データ型のストレージの詳細は、セクション11.7「データ型のストレージ要件」を参照してください。COMPACT 行フォーマットを使用する InnoDB テーブルが UTF-8 CHAR(N) カラムを内部で処理する方法を含め、InnoDB 物理行ストレージの詳細は、セクション14.2.13.7「物理的な行構造」を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.