mysql の設定
mysql> show variables like 'char%';
- +
Variable_name Value
- +
character_set_client latin1 character_set_connection latin1 character_set_database latin1 character_set_filesystem binary character_set_results latin1 character_set_server latin1 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/
- +
8 rows in set (0.00 sec)
デフォルトだと latin1 がコードになっていて、rails上で日本語でインサートすると化ける。
/etc/mysql/my.cnf を編集。 ← apt-get でインストールした
[client]
(中略)
default-character-set=utf8[mysqld]
(中略)
default-character-set=utf8
skip-character-set-client-handshake
mysql を再起動する。
sudo /etc/init.d/mysql restart
これでもう1回はじめのコマンドを叩くと…
mysql> show variables like 'char%';
- +
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/share/mysql/charsets/
- +
8 rows in set (0.00 sec)
となっているのでめでたし。
ただ、既にDBを作っていたらそれは変更されていないのでalter文で変更する。
作り直した方がキレイでいいと思う。