Por que recebo um erro “Sequência de bytes inválida em UTF-8” ao ler um arquivo de texto?
Estou escrevendo um script Ruby para processar um arquivo de texto grande e continuo recebendo um erro de codificação estranho. Aqui está a situação:
input_data = File.new(in_path, 'r').read
p input_data.encoding.name # UTF-8
break_char = "\r".encode("UTF-8")
p break_char # "\r"
p break_char.encoding.name # "UTF-8"
input_data.split(",".encode("UTF-8"))
p Encoding.compatible?(input_data, break_char) # # Encoding:UTF-8>
Isso produz o erro:in 'split': invalid byte sequence in UTF-8 (ArgumentError)
Eu lihttp: //blog.grayproductions.net/articles/ruby_19s_strin e olhou para outras soluções para aparentemente o mesmo problema, mas ainda não consigo entender por que isso está acontecendo quando acredito que estou controlando as codificaçõe
Estou no OSX trabalhando com ruby 1.9.2