如何使iconv忽略编码错误?

时间:2010-10-05 17:11:50

标签: ruby encoding iconv

我有一个长文本文件,其中包含UTF-16中的一些invalidad编码字符。到目前为止,我一直在尝试使用以下代码转换它:

ic = Iconv.new( 'UTF-8//IGNORE', 'UTF-16' )
urf_8_str = ic.iconv( an_invalid_encoded_utf_16_string )

我得到一个Iconv :: InvalidCharacter异常。

我正在使用OS X 10.6(因为看起来iconv实现在Mac机器上有点特别)和Ruby 1.8

你知道在Ruby中使用无效字符转换字符串的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:-1)

ic = Iconv.new( 'UTF-8//IGNORE', 'UTF-16' )
urf_8_str = (ic.iconv(bad_string) rescue 'oops, bad encoding')