MySQLのキャラクタセット設定とMTの動作

投稿日:

例えば開発環境サーバーから本番環境サーバーにMT環境をDBレベルで移行する場合、 移行元/移行先のサーバーのMySQLキャラクタセットが一致してないと移行できない場合ある。 MySQLのキャラクタセット設定の確認方法は、シェルから行う場合次の通り。

mysq> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

前述文字化けが起きる場合の原因としては、多くは移行先サーバー側の character_set_databaseをutf8にしていない事によると思われる。

また、character_set_client、character_set_connection、character_set_connection がlatin1でも、MTの動作には問題無い。

ただ怖いようであれば、移行元の設定と併せたほうが良い。

関連するタグ

関連するタグは現在ありません。