私はRedisでテキストメッセージのキューを持っています。赤字のメッセージが次のようなものだとしましょう:Rails、Heroku、UTF-8エラーの無効なバイトシーケンス
"niño"
(非標準文字に点滅)
railsアプリケーションは、メッセージのキューを表示します。私がローカルでテストすると(Rails 3.2.2、Ruby 1.9.3)、すべて正常ですが、Heroku Cedar(Rails 3.2.2、Ruby 1.9.2があると思います)では、悪名高いエラーが発生します:ActionView::Template::Error (invalid byte sequence in UTF-8)
私がオンラインで見つけることができるすべてを読んで、再読して、私はまだこれを修正する方法について固執しています。
どのようなヘルプや正しい方向を指していると大変感謝しています!
編集:
私は解決策を見つけることができました。私は、Iconvにを使用して終了していない:私は周りに私の場合で動作するように思えた推奨的回答の
string = Iconv.iconv('UTF-8', 'ISO-8859-1', message)[0]
なし。
あなたのアプリがRedisのからのメッセージ「ニーニョ」を受信Herokuの、オン
私はheroku labs ruby 1.9.3でインストールしましたが、同じエラーが表示されます。 – klaut
Ruby 1.9.3でIconvが必要な場合、この警告が表示されます: 'iconvは今後廃止され、代わりにString#encodeを使用してください。'あなたのソリューションに相当するものは 'string.force_encoding( 'iso-8859- 1 ')。encode(' utf-8 ') '。 – matt
'string = message.encode( 'utf-8'、 'iso-8859-1')'が良いかもしれません。 – matt