【发布时间】:2013-03-11 12:47:02
【问题描述】:
我刚刚发现 String.encode 方法仅适用于 Ruby -v 1.9.3 及更高版本。我在 Rails 环境中工作,我无法改变这一点。我使用这种方法来纠正无效的 UTF-8 输入。
我发现的唯一好的替代方法是通过 iconv.conv() 方法,但是 iconv 在较新的 ruby 版本中已被弃用,我希望我的代码即使/当我的系统管理员决定升级时也能闻起来像花一样。
作为参考,我从Here找到的替代方案:
ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
valid_string = ic.iconv(untrusted_string + ' ')[0..-2]
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby encoding utf-8 sanitization