Obě strany předchozí revize Předchozí verze | Poslední revizeObě strany příští revize |
standardy:csv:chybný-content-type [2020/06/03 09:37] – upraveno mimo DokuWiki 127.0.0.1 | standardy:csv:chybný-content-type [2020/08/26 12:17] – Jakub Klímek |
---|
====== Chybná hlavička HTTP Content-Type u CSV souboru ====== | ====== 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''. |
Více o tomto tématu naleznete v sekci na téma [[špatná-praxe:http-content-type]]. | 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; }''. |
| |
| |
| |