Následující verze | Předchozí verze |
standardy:csv:chybný-content-type [2017/10/09 13:50] – vytvořeno Jakub Klímek | standardy:csv:chybný-content-type [2020/08/26 12:20] (aktuální) – [Řešení] Jakub Klímek |
---|
====== Chyná hlavička HTTP Content-Type ====== | ====== 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ě. | 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 být ''Content-Type: text/csv; charset=utf-8''. | 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ě chybí kódování, 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''. | 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 [[špatná-praxe:http-content-type]]. |
| |
===== Řešení ===== | ===== Řešení ===== |
Je třeba nakonfigurovat webový server tak, aby soubory CSV poskytoval se správnou hlavičkou ''Content-Type: text/csv; charset=utf-8''. | 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 ''charset utf-8;'' a ujistit se, že v hodnotě ''charset-types'' je uvedeno ''text/csv''. | 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í. |
| |
| |
| |