Lorsque vous envoyez des fichiers binaires, pensez toujours aux en-têtes HTTP à choisir. Dans le cas de l'envoi d'un fichier CSV (format presque idéal pour les tableaux de texte simples, qui peuvent être traités par Excel), `Content-Type : application/csv`, dans le codage `UTF-8` est utile.
Cependant, dans certaines versions d'Excel, il y a un problème avec l'encodage UTF-8. Pour s'assurer que le bon encodage est détecté, nous devons insérer le UTF-8 BOM
, qui est un caractère spécial xEF\xBB\xBF
qui indique au client qu'il s'agit d'UTF-8, puisqu'il n'existe dans aucun autre encodage.
Par conséquent, envoyez les en-têtes comme suit :
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";
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: ... | fr