Ignorar problemas de codificação ao ler arquivos em Ruby 1.9

No caso de você assumir que um arquivo está codificado em X, mas não tiver certeza e não se importar se alguns caracteres não puderem ser convertidos e se perderem, tente

def slurp(file_name, assumed_encoding, target_encoding)
file_mode
= "rb:%s" % assumed_encoding
File.read(file_name, :mode => file_mode).encode(
target_encoding
,
:undef => :replace,
:invalid => :replace,
:replace => "?"
).force_encoding(target_encoding)
end

slurp
(file_name = "presumably_utf8.txt",
assumed_encoding
="UTF-8",
target_encoding
="UTF-8")