При відправці бінарних файлів завжди думайте про те, які HTTP-заголовки вибирати. У разі надсилання файлу у форматі CSV (майже ідеальний формат для простих текстових таблиць, які можуть бути оброблені Excel), бажано вказати `Content-Type: application/csv`, у кодуванні `UTF-8`.
Однак, в деяких версіях Excel існує проблема з кодуванням UTF-8. Для того, щоб переконатися, що визначається правильне кодування, нам потрібно вставити UTF-8 BOM
, який являє собою спеціальний символ xEF\xBB\xBF
, який повідомляє клієнту, що це UTF-8, так як в інших кодуваннях його не існує.
Тому надсилайте заголовки наступним чином:
header('Content-Type: application/csv; charset=utf-8');header('Content-Disposition: attachment; filename=' . date('d-m-y') . '_file.csv');header('Прагма: без кешу');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: ... | uk