Как и где вы кодируете параметры заголовка и кодировки для файлов CSV?
Спецификация CSV (RFC 4180) идентифицирует и определяет параметры, но, как ни странно, не указывает, куда они идут или как они кодируются. Для
header
он говорит:
Параметр «заголовок» указывает на наличие или отсутствие строки заголовка. Допустимые значения: «присутствует» или «отсутствует».
Но где это находится в файле или потоке CSV? И при чем здесь
charset
идти?
См. Раздел 3 спецификации для бит параметров. Весь документ - это всего лишь пара страниц фактического содержания, как и следовало ожидать от спецификации CSV, но в нем отсутствуют важные детали. Обратите внимание, что я спрашиваю не о сценарии связи веб-сервера с браузером, где будут поля заголовка HTTP для типа MIME или кодировки, а скорее об общем случае файлов и потоков CSV.
1 ответ
Подтверждение того, что в файле данных CSV действительно нет места для размещения этих полей метаданных ни в виде файла, ни в виде потока.
Эти два поля, как вы упомянули, предназначены только для случаев, когда CSV-файл обменивается через протокол с поддержкой MIME, например HTTP.
Другие форматы нашли разные способы решения проблемы. Например, JSON должен быть закодирован с использованием UTF-8. XML имеет кодировку в прологе.