Ruby1.9.2とRails3.0.3でincompatible character encodings: UTF-8 and ASCII-8BIT エラー
Ruby1.9.2 + Rails3.0.3 で開発中にview内で incompatible character encodings: UTF-8 and ASCII-8BIT という例外が発生しました。
しらべてみると、String#concatで例外が出ているようです。concatの引数で渡したStringがASCIIと判断されてしまっていて、違う文字コード同士を連結しようとするために発生する例外でした。
とりあえず乱暴ですが以下のようにして対応しました。
config/initializers/string.rb
class String
def concat_with_ruby192(str)
concat_without_ruby192(str.force_encoding('utf-8'))
end
alias_method_chain :concat, :ruby192
end