0

私のRailsアプリケーションでは、過去にRails3.0からRails3.1にアップグレードしましたが、今ではDBに複数の言語が保存されており、次のような問題が発生しています。

ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT):

スペイン語は次のようになります:「TUSERER QUERIDOS ESTRA \ xC3 \ x83 \ xC2 \ xB1AN TUPRECENSIA」

では、UTF-8として保存するデータを取得するための良い方法は何でしょうか?私の意見を殺さないのですか?(現在、これらのエラーは40個程度しかないので、データの削除と再入力は悪くありません。

また、どこかで読んだmysql2gemではなくmysqlgemを実行していますが、そのgemをインストールしようとすると、アプリケーションが爆発します。したがって、簡単な回避策をいただければ幸いです。

4

1 に答える 1

0

への移行を強くお勧めしますmysql2。回避策ではなく、適切な解決策です。mysql gem の開発は 2009 年に停止し、現在はエンコーディングをうまく処理できません。ところで、あなたも Ruby 1.8 から 1.9 に切り替えましたか? Ruby 1.9 では文字列エンコーディングに大幅な変更が加えられており、1.8 に戻すと問題が解決する場合があります。ただし、gem を mysql2 に変更してください。いくつかの理由があります。

于 2012-06-15T08:26:01.600 に答える