ruby-on-rails ruby encoding utf-8 ftp

Ruby on Rails-Codificación:: UndefinedConversionError: "/ xC3" de ASCII-8BIT a UTF-8



encoding ruby (1)

Tengo un proceso que obtiene un archivo plano de un mainframe a través de FTP. Esto generalmente funciona bien para algunos archivos. En otros, obtengo: Encoding::UndefinedConversionError: "/xC3" from ASCII-8BIT to UTF-8

Eso es usando Net::FTP''s método gettextfile Net::FTP''s . Aquí está mi código:

def find_file( position, value ) # => Value = CLKDRP03.txt, Forget the variable Position ftp = Net::FTP.new(''IP'') # => status 200 ftp.login(''user'',''pass'') # => True files = ftp.list(''*'' + value + ''*'') # => Obtain the file if files[0] != nil str_file = files[0].split(" ").last # => Obtain the name of the file. In this case CLKDRP03.txt ftp.gettextfile(str_file,''data/input/'' + str_file) # => ERROR!, str_file = CLKDRP03.txt # => data/input is the path where I put the files from FTP. return str_file else return false end end

Si comento la línea de ftp.gettextfile , el error sigue ftp.gettextfile .

¡Gracias por adelantado! Lo siento por mi ingles.


Para cualquiera que venga aquí desde google, así es como arreglé mi error de codificación.

justo antes de declarar que abre su archivo, agregue este código

.force_encoding("UTF-8")

entonces, antes de declarar el archivo a una variable como esta:

csv_file = params[:file].read.force_encoding("UTF-8")

Espero que esto ayude a algunos ya que tuve este problema durante mucho tiempo, pero ahora funciona ¡yay!