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の動作には問題無い。
ただ怖いようであれば、移行元の設定と併せたほうが良い。
関連するタグ
関連するタグは現在ありません。