Я знаю, что File
предположительно занимает encoding: 'bom|utf-8'
, но на самом деле нет эквивалента для потоков.Мой сервер получает ZIP-файл, содержащий один CSV, который имеет бомбу.Кажется глупым сохранять CSV-файл как файл против использования CSV.new(Zip::InputStream::open(zip_file).get_next_entry.get_input_stream)
, но на самом деле никто из них не может обнаружить и убрать метку порядка байтов (bom), и CSV
не удается проанализировать заголовок, если bom есть.
Я вижу, что CSV.new
принимает encoding
в качестве опции, но, по крайней мере, в 2.3.0 он не распознает bom
(ArgumentError: unknown encoding name - bom
)