PHP Manual
/
Przetwarzanie danych

Wysyłanie pliku CSV

18. 12. 2022

Wysyłając pliki binarne, zawsze należy zastanowić się, jakie nagłówki HTTP wybrać. W przypadku wysyłania pliku CSV (niemal idealny format dla prostych tabel tekstowych, które mogą być przetwarzane przez Excel) przydatny jest `Content-Type: application/csv`, w kodowaniu `UTF-8`.

Jednak w niektórych wersjach Excela występuje problem z kodowaniem UTF-8. Aby mieć pewność, że wykryte zostanie prawidłowe kodowanie, musimy wstawić UTF-8 BOM, czyli specjalny znak xEF, który mówi klientowi, że jest to UTF-8, ponieważ nie występuje w żadnym innym kodowaniu.

Dlatego wyślij nagłówki w następujący sposób:

header('Content-Type: application/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=.' . date('d-m-y') . '_file.csv');
header('Pragma: no-cache');
echo "\...";

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