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]
ありがとう!