【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コマンドを実行することで確認出来ます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
mysql> status -------------- mysql Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using EditLine wrapper Connection id: 17 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.7.30 MySQL Community Server (GPL) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 |
latin1(変更前)からutf8に変更されていればOKです。
(注意)
当たり前ですが設定変更前に挿入していたDB内の保存データは文字化けしたままですので、
そちらを修正する場合は今回の設定反映後に同じデータを入れ直す必要があります。