2010-10-05 54 views
2

我有一个长文本文件,UTF-16中有一些invalidad编码的字符。到目前为止,我一直在尝试使用以下代码对其进行转换:如何让iconv忽略编码错误?

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
ic = Iconv.new('UTF-8//IGNORE', 'UTF-16') 
urf_8_str = (ic.iconv(bad_string) rescue 'oops, bad encoding')