2

的输出<%= request.remote_ip.encoding %>ASCII-8BIT

当我将request.remote_ip值存储在 SQLite 中时,会出现“为列 'remote_ip' 上的类型插入二进制数据string”消息。

那么,我应该在存储到 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)
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 回答