【发布时间】:2012-10-07 05:29:48
【问题描述】:
<%= 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)
【问题讨论】:
-
您还在经历这种情况吗?在这里讨论github.com/rails/rails/issues/2743 - 我遇到了类似的问题,但在我的情况下,唯一的选择是使用 force_encoding('UTF-8')
-
@HannesBenson 也许您可以将您的发现放在答案中,这样我就可以相信您了。
标签: ruby-on-rails ruby-on-rails-3 sqlite encoding