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 リファレンスマニュアル  /  ...  /  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
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.