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:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | pl