他のキャラクタセットを MySQL に追加するには、以下の手順を実行します。
キャラクタセットがシンプルなものかコンプレックスなものかを判断します。キャラクタセットが、ソートのために特殊文字照合ルーチンを必要とせず、マルチバイト文字のサポートも必要なければ、それはシンプルです。どちらかを必要とする場合、それはコンプレックスです。
        たとえば、latin1 と
        danish
        はシンプルなキャラクタセットで、big5
        や czech
        はコンプレックスなキャラクタセットです。
      
        以下のセクションでは、キャラクタセットを
        MYSET
        という名前にすることが前提です。
      
シンプルなキャラクタセットの場合、以下を実行します。
            MYSET を sql/share/charsets/Index
            ファイルの最後に追加し、これに一意の番号を割り当てる。
          
            sql/share/charsets/MYSET.conf
            ファイルを作成する(sql/share/charsets/latin1.conf
            をベースとして使用できる)。
          
ファイルの構文は、以下のとおり非常にシンプルである。
コメントは '#' 文字で始まり、行の最後まで続く。
単語は任意の数のスペースで区切る。
キャラクタセットを定義するとき、すべての単語は 16 進数値であることが必要。
                ctype 配列は、最初の 257
                語を占める。to_lower[]、to_upper[]、および
                sort_order[]
                配列はそれぞれその後の 256 語を占める。
              
See 項4.7.4. 「キャラクタ定義配列」。
            キャラクタセット名を、configure.in
            の CHARSETS_AVAILABLE リストおよび
            COMPILED_CHARSETS
            リストに追加する。
          
再コンフィギャして再コンパイルし、テストする。
コンプレックスなキャラクタセットの場合、以下を実行します。
            MySQL ソースディストリビューションに
            strings/ctype-MYSET.c
            ファイルを作成する。
          
            MYSET を sql/share/charsets/Index
            ファイルの最後に追加する。これに一意の番号を割り当てる。
          
            strings/ctype-big5.c など、既存の
            ctype-*.c ファイルの 1
            つを見て、何の定義が必要か調べる。注意:
            ファイル内の配列名は、ctype_MYSET、to_lower_MYSET
            などであることが必要。これは、シンプルなキャラクタセットの配列に対応する。
            See 項4.7.4. 「キャラクタ定義配列」。
          
ファイルの先頭付近に、以下のようなコメントを置く。
/* * This comment is parsed by configure to create ctype.c, * so don't change it unless you know what you are doing. * * .configure. number_MYSET=MYNUMBER * .configure. strxfrm_multiply_MYSET=N * .configure. mbmaxlen_MYSET=N */
            configure
            プログラムはこのコメントを使用して、自動的にキャラクタセットを
            MySQL ライブラリに組み込む。
          
strxfrm_multiply 行および mbmaxlen 行については、後続セクションで説明する。これらはそれぞれ、文字列照合関数またはマルチバイト文字セット関数が必要な場合に組み込む。
次に、以下の関数を作成する。
                my_strncoll_MYSET()
              
                my_strcoll_MYSET()
              
                my_strxfrm_MYSET()
              
                my_like_range_MYSET()
              
See 項4.7.5. 「文字列照合サポート」。
            キャラクタセット名を、configure.in
            の CHARSETS_AVAILABLE リストおよび
            COMPILED_CHARSETS
            リストに追加する。
          
再コンフィギャして再コンパイルし、テストする。
        sql/share/charsets/README
        ファイルに、より詳細な説明が含まれています。
      
MySQL ディストリビューションへのキャラクタセットの組み込みを希望する場合には、MySQL internals メーリングリストにパッチをメールしてください。 See 項1.7.1.1. 「MySQL メーリングリスト」。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

