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


MySQL 5.6 リファレンスマニュアル  /  ...  /  MySQL での文字セットと照合順序

10.1.2 MySQL での文字セットと照合順序

MySQL Server では複数の文字セットがサポートされています。利用可能な文字セットを一覧表示するには、SHOW CHARACTER SET ステートメントを使用します。リストの一部は次のとおりです。完全な情報については、セクション10.1.14「MySQL でサポートされる文字セットと照合順序」を参照してください。

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| big5     | Big5 Traditional Chinese    | big5_chinese_ci     |      2 |
| dec8     | DEC West European           | dec8_swedish_ci     |      1 |
| cp850    | DOS West European           | cp850_general_ci    |      1 |
| hp8      | HP West European            | hp8_english_ci      |      1 |
| koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| latin2   | ISO 8859-2 Central European | latin2_general_ci   |      1 |
| swe7     | 7bit Swedish                | swe7_swedish_ci     |      1 |
| ascii    | US ASCII                    | ascii_general_ci    |      1 |
| ujis     | EUC-JP Japanese             | ujis_japanese_ci    |      3 |
| sjis     | Shift-JIS Japanese          | sjis_japanese_ci    |      2 |
| hebrew   | ISO 8859-8 Hebrew           | hebrew_general_ci   |      1 |
| tis620   | TIS620 Thai                 | tis620_thai_ci      |      1 |
| euckr    | EUC-KR Korean               | euckr_korean_ci     |      2 |
| koi8u    | KOI8-U Ukrainian            | koi8u_general_ci    |      1 |
| gb2312   | GB2312 Simplified Chinese   | gb2312_chinese_ci   |      2 |
| greek    | ISO 8859-7 Greek            | greek_general_ci    |      1 |
| cp1250   | Windows Central European    | cp1250_general_ci   |      1 |
| gbk      | GBK Simplified Chinese      | gbk_chinese_ci      |      2 |
| latin5   | ISO 8859-9 Turkish          | latin5_turkish_ci   |      1 |
...

どの文字セットにも常に少なくとも 1 つの照合順序が対応しています。複数の照合順序が対応することもあります。文字セットの照合順序を一覧表示するには、SHOW COLLATION ステートメントを使用します。たとえば、latin1 (cp1252 西ヨーロッパ言語) 文字セットの照合順序を表示するには、このステートメントを使用して、名前が latin1 で始まる照合順序を探します。

mysql> SHOW COLLATION LIKE 'latin1%';
+---------------------+---------+----+---------+----------+---------+
| Collation           | Charset | Id | Default | Compiled | Sortlen |
+---------------------+---------+----+---------+----------+---------+
| latin1_german1_ci   | latin1  |  5 |         |          |       0 |
| latin1_swedish_ci   | latin1  |  8 | Yes     | Yes      |       1 |
| latin1_danish_ci    | latin1  | 15 |         |          |       0 |
| latin1_german2_ci   | latin1  | 31 |         | Yes      |       2 |
| latin1_bin          | latin1  | 47 |         | Yes      |       1 |
| latin1_general_ci   | latin1  | 48 |         |          |       0 |
| latin1_general_cs   | latin1  | 49 |         |          |       0 |
| latin1_spanish_ci   | latin1  | 94 |         |          |       0 |
+---------------------+---------+----+---------+----------+---------+

latin1 の照合順序の意味は次のとおりです。

照合順序 意味
latin1_german1_ci ドイツ語 DIN-1
latin1_swedish_ci スウェーデン語/フィンランド語
latin1_danish_ci デンマーク語/ノルウェー語
latin1_german2_ci ドイツ語 DIN-2
latin1_bin latin1 エンコーディングに基づくバイナリ
latin1_general_ci マルチリンガル (西ヨーロッパ言語)
latin1_general_cs マルチリンガル (ISO 西ヨーロッパ言語)、大文字と小文字を区別
latin1_spanish_ci 現代スペイン語

照合順序には次のような一般的な特徴があります。

  • 2 つの異なる文字セットで、同じ照合順序を共有できません。

  • 各文字セットには、デフォルト照合順序が 1 つ存在します。たとえば、latin1 のデフォルト照合順序は latin1_swedish_ci です。SHOW CHARACTER SET の出力には、表示されている各文字セットのデフォルト照合順序が示されます。

  • 照合順序名には、関連する文字セットの名前で始まる、通常は言語名を含む、_ci (大文字と小文字を区別しない)、_cs (大文字と小文字を区別する)、_bin (バイナリ) のいずれかで終わる、という規則が適用されます。

文字セットに複数の照合順序が存在する場合、どの照合順序が所定のアプリケーションにもっとも適しているかが明確でないことがあります。正しくない照合順序を選択しないようにするには、代表的なデータ値で比較を行い、特定の照合順序で期待どおりに値がソートされることを確認すると役立ちます。

Collation-Charts.Org は、ある照合順序と別の照合順序との比較を示す有用な情報サイトです。


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