MySQLのダンプファイルが文字化けしていないのに、投入した時に文字化けするときはテーブルまたはデータベースの文字コードがlatin1になっていないかをshow create文で確認すべし!
mysql> show create database jira; +----------+-----------------------------------------------------------------+ | Database | Create Database | +----------+-----------------------------------------------------------------+ | jira | CREATE DATABASE `jira` /*!40100 DEFAULT CHARACTER SET latin1 */ | +----------+-----------------------------------------------------------------+ 1 row in set (0.00 sec)
予想通りlatin1になっていて、日本語が文字化けしていた。
基本的にテーブル作成時に文字コードを指定しないと、データベースの設定を受け継いでしまう。
というわけでdatabaseを作り直す。
mysql> create database jira default charset utf8; Query OK, 1 row affected (0.00 sec) mysql> show create database jira; +----------+---------------------------------------------------------------+ | Database | Create Database | +----------+---------------------------------------------------------------+ | jira | CREATE DATABASE `jira` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------+---------------------------------------------------------------+ 1 row in set (0.00 sec)
この後ダンプSQLを投入したら、無事文字化け解消。