У меня есть процесс, который извлекает плоский файл из мэйнфрейма через FTP. Обычно это нормально работает, но время от времени файл будет содержать что-то характерное. Если я попытаюсь получить файл с акцентом, весь процесс завершится с ошибкой: Encoding::UndefinedConversionError: "\x88" from ASCII-8BIT to UTF-8
Это использование метода Net::FTP
gettextfile
. Многие люди предлагают просто переключиться на getbinaryfile
- это позволит мне загрузить файл, но в результате получившийся файл - это то, что я больше не могу разобрать (говорит он в UTF-8, но содержимое не имеет смысла).
Есть ли способ просто извлечь и сохранить файл как ASCII без использования рельсов, автоматически преобразующих вывод в UTF-8? Здесь мой код:
Net::FTP.open(config['host']) do |ftp|
Rails.logger.info("FTP Connection established")
ftp.login(config['user'], config['password'])
Rails.logger.info("Login Successful")
ftp.gettextfile("'#{config['es_in']}'", "data/es-in.#{Time.now.utc.strftime("%Y%m%d-%H%M%S")}")
ftp.gettextfile("'#{config['ca_in']}'", "data/ca-in.#{Time.now.utc.strftime("%Y%m%d-%H%M%S")}")
Rails.logger.info("Download(s) completed, terminating connection.")
end