はじめに
さくらのレンタルサーバのMySQLは、デフォルトの文字コードがujis(EUC-JP)のため、utf-8なデータベースやテーブルをmysqldumpでエクスポートすると文字化けする場合があります。
mysql> show variables like "chara%";
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | ujis |
| character_set_connection | ujis |
| character_set_database | ujis |
| character_set_filesystem | binary |
| character_set_results | ujis |
| character_set_server | ujis |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
対応方法
以下に示すように、mysqldump実行時に「--default-character-set=utf8」を付けることで文字化けしなくなります。
エクスポート時
mysqldump --default-character-set=utf8 -h mysql***.db.sakura.ne.jp -u [hogeuser] -p[hogepassword] [hogedb] > ~/hoge.sql
インポート時
mysql -h mysql***.db.sakura.ne.jp [hogeuser] -p[hogepassword] [hogedb] < ~/hoge.sql
インポート時に文字化けする場合は、「--default-character-set=utf8」を付けて再度確認してください。