Chybná hlavička HTTP Content-Type u CSV souboru

I u CSV souboru se správným kódováním UTF-8 vystaveném na webu se může stát, že se diakritika v takovém souboru v prohlížeči nebude zobrazovat správně. Pravděpodobně je na vině špatná HTTP hlavička Content-Type v odpovědi se souborem, která by správně měla kódování obsahovat: Content-Type: text/csv; charset=utf-8. Vyskytují se ale případy, kdy v hodnotě kódování chybí, tj. Content-Type: text/csv, a tedy prohlížeč neví, že má zobrazovat kódování UTF-8, a nebo je dokonce indikován špatný typ, například Content-Type: text/plain nebo Content-Type: application/octet-stream. Obecnější informace o tomto tématu naleznete v sekci na téma Chybná hlavička HTTP Content-Type.

Je třeba nakonfigurovat webový server tak, aby soubory CSV poskytoval se správnou hlavičkou, tj. Content-Type: text/csv;charset=utf-8;header=present v případě CSV s hlavičkou a Content-Type: text/csv;charset=utf-8;header=absent v případě CSV bez hlavičky, které ale nedoporučujeme používat. Například pro webový server nginx je třeba použít v konfiguraci types { „text/csv;charset=utf-8;header=present“ csv; } - uvozovka zde má být běžná dvojitá uvozovka, nikoliv horní a dolní.

  • standardy/csv/chybný-content-type.txt
  • Poslední úprava: 2020/08/26 10:20
  • autor: Jakub Klímek