MySql の information_schema の照合順序に 'utf8' が設定されているのに、他のすべてのデータベースの照合順序に latin1_swedish が設定されているのはなぜですか?

MySql の information_schema の照合順序に 'utf8' が設定されているのに、他のすべてのデータベースの照合順序に latin1_swedish が設定されているのはなぜですか?

最新バージョンの MySql を使用しています。データベースを作成しましたが、デフォルトで Latin1_Swedish に設定されていました。そして、「mysql」データベースにも Latin1_Swedish があることに気付きました。information_schema のみに utf8_general_ci の照合順序があります。データベースを utf8 に変更する必要がありますか? 変更する場合、どのように変更しますか?

答え1

デフォルトのlatin1_swedish設定から変更できるオプションがいくつかあります

デフォルトの文字セットをutf8にするようにmysqlをコンパイルすることができます。

make WITH_CHARSET=utf8 WITH_COLLATION=utf8_bin

デフォルトは、my.cnf ファイル内、または mysql サーバーの実行時に変更できます。

mysqld --character-set-server=utf8 --collation-server=utf8_bin;

データベースを作成するときに文字セットを指定することもできます。

CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_bin;

あなたがすべきかどうかはあなた次第です。

ここにいくつかありますドキュメントこのトピックに関する記事は、一見の価値があるかもしれません。

関連情報