0

シリアル化を使用するフィールドを持つクラスがありますが、通常のテキストを入力した後、一部のテキストが奇妙な文字になることがわかりました。これはエンコーディングによるものですか?これを修正するにはどうすればよいですか?

Postgresql データベースで Heroku を使用しています。SQLiteでそれを行うと、魅力的に機能します。

スクリプト:

Ik zeg wat ik voel.

 Doe ik ...

ポストグル:

Ik zeg wat ik voel.â¨â¨ Doe ik ...

ありがとう!

4

2 に答える 2

1

最初に、postgresql とシステムが UTF-8 (最も安全) でエンコードされていることを確認します。また、config/database.ymlで、postgres 接続用にエンコード UTF-8 が設定されていることも確認します。

それでも問題が解決しない場合は、yaml エンジンを syck に変更し、ファイルconfig/boot.rbに書き込みます。

require 'yaml'
YAML::ENGINE.yamler = 'syck' 

それは奇妙な文字を修正するはずです。

于 2012-12-17T09:27:27.493 に答える
0

postgres では、ISO-8859-1 の UTF-8 バイトを解釈しています。あなたの投稿では、UTF - 8表現が役職。0xE2 0x80 0xA8â¨0x80

したがって、問題は、結果を表示しているものは何でも、UTF-8 の正しいバイトを取得していますが、ISO-8859-1 として解釈しています。

于 2012-12-17T12:34:11.610 に答える