2

ユーザーが RSS フィードなどを使用してさまざまなソースから情報をインポートできるようにする Rails アプリケーションがあります。私のデータベースのデフォルトのエンコーディングは UTF8 で、UTF8 以外のデータがシステムを通過し、データベースにヒットするとクラッシュするという例外をたくさん受け取りました。

is_utf8 を使用して非 UTF8 データを適切に検出するのですか? 保存が完了する前に属性のメソッドを実行しますが、それを処理する方法を思いつきませんでした。変換するiconvを見てきましたが、変換元のエンコーディングの種類を判断できる必要があるようです。

推測変換を行う簡単な方法や、UTF8 以外の文字を削除してデータベースに保存する方法はありますか?

ありがとう!

4

2 に答える 2

1

UTF-8 以外のデータはどのようにシステムに取り込まれますか? すべてのページが Content-Type text/html;charset=utf-8 として提供され、ブラウザが常に UTF-8 データをフォームに送信することを確認してください。

(もちろん、メールやアップロードされたファイルなどはまだ残っていますが、これらの種類の特定のコンテキストの多くは、多くの場合、続行するためのエンコーディングを提供します。)

于 2009-02-04T20:11:29.353 に答える