いろんな原因があるんだろうけど、遭遇したケースに付いてメモ。
Railsで文字化けが起きてると相談されて、インポートしたdumpを見てみると、その時点で文字化けしてた。
元の環境を見ると、
mysql> show variables like 'character_set%';
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | ujis |
| character_set_connection | ujis |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | ujis |
| character_set_server | ujis |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.00 sec)
こんな感じだった。
データ自体はutf8
で保存されているようだったので、
mysqldumpに--default-character-set=utf8
を設定したら、行けた。
まさか、2015年にEUC-JPうんぬんみたいな話を聞くことになるとは…。