2010-10-05 28 views
2

J'ai un long fichier texte avec des caractères codés invalides en UTF-16. Jusqu'à présent, j'ai essayé de le convertir en utilisant le code suivant:Comment faire pour iconv ignorer les erreurs d'encodage?

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

Et je reçois une exception Iconv :: InvalidCharacter.

J'utilise OS X 10.6 (car il semble que la mise en œuvre de iconv est un peu spécial sur les machines Mac) et Ruby 1.8

connaissez-vous un moyen de convertir une chaîne en Ruby avec des caractères non valides sur elle ?

Merci!

Répondre

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