PHP Manual

Відправлення файлу CSV

18. 12. 2022

При відправці бінарних файлів завжди думайте про те, які 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:

Související články

1.
4.
Status:
All systems normal.
2024