MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  8 ビットの文字セットへの単純な照合順序の追加

10.14.3 8 ビットの文字セットへの単純な照合順序の追加

このセクションでは、MySQL Index.xml ファイル内の <charset> 文字セットの記述に関連付けられた <collation> 要素を書き込むことによって、8 ビット文字セットの単純な照合順序を追加する方法について説明します。 ここで説明した手順では、MySQL の再コンパイルは不要です。 この例では、latin1_test_ci という名前の照合順序を latin1 文字セットに追加します。

  1. セクション10.14.2「照合順序 ID の選択」で示したように、照合順序 ID を選択します。 次のステップでは、1024 の ID を使用します。

  2. Index.xml および latin1.xml 構成ファイルを変更します。 これらのファイルは、character_sets_dir システム変数で指定されたディレクトリにあります。 使用しているシステムではパス名が異なることがありますが、次のようにして変数値を確認できます。

    mysql> SHOW VARIABLES LIKE 'character_sets_dir';
    +--------------------+-----------------------------------------+
    | Variable_name      | Value                                   |
    +--------------------+-----------------------------------------+
    | character_sets_dir | /user/local/mysql/share/mysql/charsets/ |
    +--------------------+-----------------------------------------+
  3. 照合順序の名前を選択して、Index.xml ファイルに表示します。 照合順序を追加する文字セットの <charset> 要素を探し、照合順序名および ID を指定する <collation> 要素を追加して、名前を ID に関連付けます。 例:

    <charset name="latin1">
      ...
      <collation name="latin1_test_ci" id="1024"/>
      ...
    </charset>
  4. latin1.xml 構成ファイルで、照合順序に名前を付ける <collation> 要素と、0 から 255 の文字コードの文字コードと重みのマッピングテーブルを定義する <map> 要素を追加します。 <map> 要素内のそれぞれの値は、16 進形式の数値にする必要があります。

    <collation name="latin1_test_ci">
    <map>
     00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
     10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
     20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
     30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
     40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
     50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
     60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
     50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F
     80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
     90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
     A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
     B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
     41 41 41 41 5B 5D 5B 43 45 45 45 45 49 49 49 49
     44 4E 4F 4F 4F 4F 5C D7 5C 55 55 55 59 59 DE DF
     41 41 41 41 5B 5D 5B 43 45 45 45 45 49 49 49 49
     44 4E 4F 4F 4F 4F 5C F7 5C 55 55 55 59 59 DE FF
    </map>
    </collation>
  5. サーバーを再起動し、このステートメントを使用して、照合順序の有無を検証します。

    mysql> SHOW COLLATION WHERE Collation = 'latin1_test_ci';
    +----------------+---------+------+---------+----------+---------+
    | Collation      | Charset | Id   | Default | Compiled | Sortlen |
    +----------------+---------+------+---------+----------+---------+
    | latin1_test_ci | latin1  | 1024 |         |          |       1 |
    +----------------+---------+------+---------+----------+---------+

関連キーワード:  文字, セット, 照合, 順序, 追加, サポート, collation, 要素, 構成, utf