Questo è quello che stavo facendo:Rubino CSV UTF8 Errore di codifica durante la lettura
csv = CSV.open(file_name, "r")
ho usato questo per la prova:
line = csv.shift
while not line.nil?
puts line
line = csv.shift
end
E mi sono imbattuto in questo:
ArgumentError: invalid byte sequence in UTF-8
Ho letto il answer here e questo è quello che ho provato
csv = CSV.open(file_name, "r", encoding: "windows-1251:utf-8")
mi sono imbattuto nel seguente errore:
Encoding::UndefinedConversionError: "\x98" to UTF-8 in conversion from Windows-1251 to UTF-8
Poi mi sono imbattuto in una gemma rubino - charlock_holmes. Ho pensato di provare a usarlo per trovare la codifica sorgente.
CharlockHolmes::EncodingDetector.detect(File.read(file_name))
=> {:type=>:text, :encoding=>"windows-1252", :confidence=>37, :language=>"fr"}
Quindi ho fatto questo:
csv = CSV.open(file_name, "r", encoding: "windows-1252:utf-8")
E ancora ottenuto questo:
Encoding::UndefinedConversionError: "\x8F" to UTF-8 in conversion from Windows-1252 to UTF-8
Sembra che [questo] [1] potrebbe funzionare. ---- [1]: http://stackoverflow.com/a/9361667/724516 – Vighnesh
Potresti caricare il file csv? –