【MySQL】ラテン語に文字化けしたときの対処法

MySQLでデータが画面上で文字化けしないようにする方法をメモ。

環境:MySQL 5.7、CentOS7

下の画像の様なラテン語や記号などに文字化けしてしまう状態を直すためには
MySQLの※設定ファイルを変更します。
※CentOS7の場合 /etc/my.cnf

# vi /etc/my.cnf
設定ファイル内、以下の項目にそれぞれUTF-8の文字コードを設定します。


[mysqld]
character-set-server=utf8

[client]
default-character-set=utf8


今回の検証環境では上記の2箇所でOKでしたが環境によっては以下の項目も必要かもしれません。

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8


設定を追加したら、MySQLを再起動して反映します。
# systemctl restart mysqld

設定の反映はMySQLへログインしstatusコマンドを実行することで確認出来ます。

latin1(変更前)からutf8に変更されていればOKです。

(注意)
当たり前ですが設定変更前に挿入していたDB内の保存データは文字化けしたままですので、
そちらを修正する場合は今回の設定反映後に同じデータを入れ直す必要があります。

Follow me!