1

MySQL、UTF-8、および Rails 3 アプリケーションのさらに別のエンコーディングの問題。

最近、コードを Rails 2 から Rails 3 に移行しました。MySQL とmysql2gem を使用しています。\xC3\x9F問題は、古いデータベースには、分音符付きの oなど、対応する htmlentity の代わりにいくつかの utf-8 文字を含むコンテンツがあったことです。

これらの文字列は、Web サイトに入力する必要があるいくつかの文字列の YAML シリアル化として用意されています。問題は、データベースからのレコードが ActiveRecord オブジェクトにロードされるときに、これが奇妙な文字で行われるため、Web 上で非常に厄介な表示になることです。たとえば、などのようにß表示さÃれます。

Rails 3 の新しいエンコーディング マジックで少し遊んで、force_encodingencodeメソッドのさまざまな組み合わせを試してみましたが、うまくいきませんでした。

記録として、mysql は次の 2 行で開始されます。

character-set-server=utf8
collation-server=utf8_unicode_ci

何が間違っているのか、なぜ YAML がエスケープされた文字を正しく読み取らないのか、問題を解決するために何ができるのかについて何か考えはありますか?

乾杯

4

1 に答える 1

0

OK、問題が何であるかがわかりました.yamlテキストは完成しましたがsyck、今psyckはあまり好きではありません.

ここで答えを見つけましたhttps://stackoverflow.com/a/8570162/196708

于 2012-08-06T16:31:03.837 に答える