今日もRuby on Railsで遊びました。
今日はモデルのテストを作成してみたのですが、テストスクリプトを単体で実行するとテストが成功するのに、”rake test”すると失敗する現象に遭遇。
失敗するテストは日本語文字列がらみなのでいろいろ調べてみると、rakeを使った場合にはテスト用テーブルがサーバデフォルトの文字コードで作成されてしまうらしいことが判明。その辺はまったく設定されてなかったので、テーブルはlaten1で作成されてしまってました。
“rake clone_structure_to_test”だと文字コード情報もコピーされるんですが。
最終的に、/etc/my.cnfに以下の記述を追加してデフォルトをutf8にしたことで、問題は解消されました。
[mysqld] default-character-set=utf8 default-collation=utf8_general_ci
Technorati Tags:[Ruby on Rails]