2

の出力は<%= request.remote_ip.encoding %>ですASCII-8BIT

request.remote_ip値をSQLiteに保存すると、「列'remote_ip'のタイプにバイナリデータが挿入されましstringた」というメッセージが表示されます。

それで、SQLiteに保存する前に「force_encoding」する必要がありますか?request.remote_ipまたは、デフォルトでUTF-8(または多分)設定できる構成はありますASCII-7BITか?

OS X Lion
ruby 1.9.3p194 
Rails 3.2.8
sqlite3 (1.3.6)
sqlite3-ruby (1.3.2)
4

1 に答える 1

1

同様の問題に直面し、 https ://github.com/rails/rails/issues/2743 のディスカッションを読みました。私の唯一の回避策は、force_encoding('UTF-8') を使用して、remote_ip 文字列エンコーディングが utf-8 であることを確認することでした。

于 2014-03-14T07:25:42.447 に答える