MySQL 5.7 で文字コードを UTF8 に変更する手順をご紹介します。
まず、現在の文字コードを show variables like ‘character_set%’; コマンドで確認します。
mysql> show variables like 'character_set%';
+--------------------------+------------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/Cellar/mysql/5.7.17/share/mysql/charsets/ |
+--------------------------+------------------------------------------------------+
8 rows in set (0.02 sec)
次に MySQL の設定ファイル my.cnf に文字コードを UTF8 にする設定を追記します。
以下のような設定を追記してあげれば OK です。
[mysqld]
# character_set
character-set-server = utf8
[mysql]
default-character-set = utf8
最後に MySQL を再起動して設定反映しましょう。
$ service mysqld restart
$ /etc/init.d/mysqld restart
$ brew services restart mysql
Stopping `mysql`... (might take a while)
==> Successfully stopped `mysql` (label: homebrew.mxcl.mysql)
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)
mysql> show variables like 'character_set%';
+--------------------------+------------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/Cellar/mysql/5.7.17/share/mysql/charsets/ |
+--------------------------+------------------------------------------------------+
8 rows in set (0.01 sec)
文字コードの問題にぶつかる前に、最初から UTF8 に設定しておくと安心ですね。