0

我刚刚发现 String.encode 方法仅适用于 Ruby -v 1.9.3 及更高版本。我在 Rails 环境中工作,我无法改变这一点。我使用这种方法来纠正无效的 UTF-8 输入。

我发现的唯一不错的选择是通过 iconv.conv() 方法,但是 iconv 在较新的 ruby​​ 版本中已被弃用,我希望我的代码闻起来像花一样,即使/当我的系统管理员决定升级时。

作为参考,我从这里找到的替代方案:

ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
valid_string = ic.iconv(untrusted_string + ' ')[0..-2]

谢谢!

4

1 回答 1

1

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

于 2013-03-11T15:03:56.850 回答