いろんな原因があるんだろうけど、遭遇したケースに付いてメモ。

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うんぬんみたいな話を聞くことになるとは…。