<%= request.remote_ip.encoding %>
的输出为ASCII-8BIT
。
当我在SQLite中存储request.remote_ip
值时,会出现“Binary data inserted for string
type on column 'remote_ip'”消息。
那么,在存储SQLite之前我应该'强制编码'吗?或者,是否有配置我可以将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)
答案 0 :(得分:0)
我遇到了类似的问题并在此处阅读了讨论:https://github.com/rails/rails/issues/2743。我唯一的办法是使用force_encoding('UTF-8')来确保remote_ip字符串编码是utf-8。