【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コマンドを実行することで確認出来ます。

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です。

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

Follow me!