CakePHP3でSeedを使ったらMySQLで文字化けした時の対処法

CakePHP3でSeedを使ったらMySQLで文字化けした時の対処法

44 回閲覧されました

みなさんこんにちは、jonioです。

CakePHPでSeedを使ってMySQLにデータの挿入をしたのですが日本語が文字化けしました。

下記赤枠(今は文字化けしなくなっています)です。

ネットにCakePHPのバージョン2でのやり方はあるのですが3は情報がほぼない印象なので対処法のメモとしてこの記事を残します。

ネットに載ってる対処法

「CakePHPのプロジェクト > config > app.php」の「Datasources」の項目に「’encoding’ => ‘utf8mb4’」がコメントアウトになっているのでそれをはずすと上手くいくという情報を見つけたのですがうまくいきませんでした。

phpMyAdminを見る

今回の現象が起きるのは恐らくMySQLを使用するのが初めての場合です。

私の場合は外部DBを初めて使ったのでそもそもphpMyAdminの言語設定をしていませんでした。

言語設定を確認するにはphpMyAdminで言語設定をしたいテーブルにアクセスします。

構造(Structure)をクリックします。

すると下記の表示になります。

確認するのは下記の赤枠です、「utf8_general_ci」の表示がありますがこの場合は文字化けしません。

私が確認した時は「utf8_general_ci」が別の表示になっていたので日本語が文字化けしていました。

変更するには下記の赤枠をクリックすると変更画面に移動します。

これで文字化けはなくなるはずです。