【问题标题】:String.encode() alternative in Ruby 1.8.7 for cleaning input to UTF-8Ruby 1.8.7 中的 String.encode() 替代方法,用于清理 UTF-8 的输入
【发布时间】: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


    【解决方案1】:

    看看charlock_holmes gem,它涵盖了我们在 1.9 之前的大部分编码需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多