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


10.1.3.1 サーバー文字セットおよび照合順序

MySQL Server にはサーバー文字セットとサーバー照合順序があります。これらは、コマンド行またはオプションファイルで、サーバーの起動時に設定し、実行時に変更できます。

サーバー文字セットおよび照合順序は最初、mysqld の起動時に使用するオプションに依存します。文字セットに --character-set-server を使用できます。これに加え、照合順序に --collation-server を追加できます。文字セットを指定しない場合は、--character-set-server=latin1 を指定した場合と同じになります。文字セット (たとえば latin1) だけを指定して照合順序を指定しない場合は、--character-set-server=latin1 --collation-server=latin1_swedish_ci を指定した場合と同じになります。これは latin1_swedish_cilatin1 のデフォルト照合順序であるためです。したがって、次の 3 つのコマンドを実行した結果はいずれも同じになります。

shell> mysqld
shell> mysqld --character-set-server=latin1
shell> mysqld --character-set-server=latin1 \
           --collation-server=latin1_swedish_ci

設定を変更する手段の 1 つは再コンパイルです。ソースから構築するときに、デフォルトのサーバー文字セットおよび照合順序を変更するには、CMakeDEFAULT_CHARSET および DEFAULT_COLLATION オプションを使用します。例:

shell> cmake . -DDEFAULT_CHARSET=latin1

または:

shell> cmake . -DDEFAULT_CHARSET=latin1 \
           -DDEFAULT_COLLATION=latin1_german1_ci

mysqldCMake の両方は、文字セットと照合順序の組み合わせが有効であることを検証します。組み合わせが有効でない場合、各プログラムによってエラーメッセージが表示され、強制終了されます。

サーバー文字セットおよび照合順序は、データベース文字セットおよび照合順序が CREATE DATABASE ステートメントで指定されていない場合にデフォルト値として使用されます。これらにほかの用途はありません。

現在のサーバー文字セットおよび照合順序は、character_set_server および collation_server システム変数の値で判別できます。これらの変数は実行時に変更できます。