Odeslání CSV souboru

Při odesílání binárních souborů vždy přemýšlejte, jaké HTTP hlavičky zvolit. V případě odeslání CSV souboru (téměř ideální formát pro jednoduché textové tabulky, které umí zpracovat i Excel) se hodí Content-Type: application/csv, v kódování UTF-8.

V některých verzích Excelu však dochází k problému s kódováním UTF-8. Abychom si detekci správného kódování pojistili, je potřeba do souboru vložit tzv. UTF-8 BOM, což je speciální znak "\xEF\xBB\xBF", který klientovi říká, že jde o UTF-8, jelikož v jiném kódování neexistuje.

Hlavičky proto pošlete takto:

php
header('Content-Type: application/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=' . date('d-m-Y') . '_file.csv');
header('Pragma: no-cache');
echo "\xEF\xBB\xBF";
AI konzultace & implementace

Pomohu vám zavést AI do vašeho projektu– od analýzy a návrhu řešení až po nasazení do produkce. Ušetřete čas, zjednodušte procesy a získejte konkurenční výhodu.

Domluvit konzultaci
Konzultant: Jan Barášek
Potřebujete poradit s PHP?

Nabízím trénink vývojářů, konzultace, školení a analýzu návrhových vzorů. Osobně v Praze nebo online.

Napište mi

Newsletter

Nejlepsi tipy a triky o PHP do Vaseho e-mailu. Clanky a novinky nejen ze sveta PHP a programovani.