Når du sender binære filer, skal du altid overveje, hvilke HTTP-headere du skal vælge. I tilfælde af at sende en CSV-fil (næsten ideelt format for simple teksttabeller, som kan behandles af Excel) er det nyttigt med `Content-Type: application/csv`, i `UTF-8`-kodning.
I nogle versioner af Excel er der dog et problem med UTF-8-kodning. For at sikre, at den korrekte kodning registreres, skal vi indsætte UTF-8 BOM
, som er et særligt tegn ``xEF\xBB\xBF```, der fortæller klienten, at det er UTF-8, da det ikke findes i nogen anden kodning.
Derfor skal du sende overskrifterne som følger:
header('Content-Type: application/csv; charset=utf-8');header('Content-Disposition: attachment; filnavn=' . date('d-m-y') . '_file.csv');header('Pragma: no-cache');echo "\xEF\xBB\xBF";
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | da