PHP Manual
/
Procesamiento de datos

Envío de un archivo CSV

18. 12. 2022

Al enviar archivos binarios, piense siempre qué cabeceras HTTP elegir. En caso de enviar un archivo CSV (formato casi ideal para tablas de texto sencillas, que pueden ser procesadas por Excel), es útil `Content-Type: application/csv`, en codificación `UTF-8`.

Sin embargo, en algunas versiones de Excel existe un problema con la codificación UTF-8. Para asegurarnos de que se detecta la codificación correcta, necesitamos insertar el UTF-8 BOM, que es un carácter especial xEF\xBB\xBF que indica al cliente que se trata de UTF-8, ya que no existe en ninguna otra codificación.

Por lo tanto, envíe las cabeceras de la siguiente manera:

header('Content-Type: application/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=' . date('d-m-y') . 'archivo.csv');
header('Pragma: no-cache');
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