PHP Manual
/
Databehandling

Afsendelse af en CSV-fil

18. 12. 2022

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:

Související články

1.
4.
Status:
All systems normal.
2024