sudo gem install mysql
その後、アプリケーションを再起動したら、データベースに保存されている文字列の表示が思いっきり文字化けしてしまった。
database.yml をよく見てみると、
encoding: utf-8
しまった。 MySQL adapter の場合、
encoding: utf8
と書かなければいけなかったのだ。
MySQL native adapter のデフォルトエンコーディングは latin1 らしいので、一度、 latin1 としてダンプして、
mysqldump --default-character-set=latin1 -u root foo_production > foo.mysql
ダンプファイルの SET NAMES を書き換え
- /*!40101 SET NAMES latin1 */;
+ /*!40101 SET NAMES utf8 */;
database の再作成
mysql -u root -e "drop database foo_production; create database foo_production"
そして、ロード
mysql -u root foo_production < foo.sql
つまらないバッドノウハウで恐縮ですが、以前にも同じ事をやらかしてしまったことがあったので役に立つこともあるかと。
No comments:
Post a Comment