今まで ujis(euc-jp)で保存をしていたけど、思い切って utf8に切り替えることにした。
まずは保存済みのテキストをダンプして文字コードを変更。
mysqldump -u root -p –database diving -h sakura –default-character-set=ujis -c –opt –table HOGEHOGE_TBL |sed -f ujis2utf8.sed |nkf -w> tmp.txt
ちなみに ujis2utf8.sedは以下の通り。
s/CHARSET=ujis/CHARSET=utf8/g
s/SET NAMES ujis/SET NAMES utf8/g
次いでテーブルを作り直す。
mysql -u root -p –database diving -h sakura <tmp.txt
以上の作業をテーブルの数だけ繰り返すと。
テキストは含まないけれど、デフォルトのエンコードが ujisになっているテーブルについても修正。
mysql > alter table BINARY_TBL default character set utf8;
最後に新しく作られるテーブルについて utf8になるように設定変更。
mysql > alter database diving default character set utf8;
仕上げに mysqlおよび mysqldのデフォルトが utf8になるように設定変更。
/etc/my.cnf
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8