Me gustaría saber cómo puedo cambiar la codificación de mi archivo CSV cuando lo importo y lo analizo. Tengo este código:Cómo cambiar la codificación durante el análisis CSV en Rails
csv = CSV.parse(output, :headers => true, :col_sep => ";")
csv.each do |row|
row = row.to_hash.with_indifferent_access
insert_data_method(row)
end
Cuando leí mi archivo, me sale este error:
Encoding::CompatibilityError in FileImportingController#load_file
incompatible character encodings: ASCII-8BIT and UTF-8
que leí sobre row.force_encoding('utf-8')
pero no funciona:
NoMethodError in FileImportingController#load_file
undefined method `force_encoding' for #<ActiveSupport::HashWithIndifferentAccess:0x2905ad0>
Gracias.
En lugar de convertirlo en una codificación diferente, lo haría Es posible agregar un paso de indirección y salida de archivos separados? Por ejemplo, un archivo de texto está codificado UTF-8 en algunas partes pero UTF-16LE en otras. Siempre que los encabezados sean idénticos, envíe un archivo a filename_utf8.txt y otro a filename_utf16le.txt. De esta forma, es posible no forzar la codificación. – Tyler