Quando si inviano file binari, bisogna sempre pensare a quali intestazioni HTTP scegliere. In caso di invio di un file CSV (formato quasi ideale per tabelle di testo semplici, che possono essere elaborate da Excel), è utile `Content-Type: application/csv`, con codifica `UTF-8`.
Tuttavia, in alcune versioni di Excel esiste un problema con la codifica UTF-8. Per assicurarsi che venga rilevata la codifica corretta, occorre inserire la `UTF-8 BOM', che è un carattere speciale ``xEF\xBB\xBF'' che indica al client che si tratta di UTF-8, poiché non esiste in nessun'altra codifica.
Pertanto, inviare le intestazioni come segue:
header('Tipo di contenuto: application/csv; charset=utf-8');header('Contenuto-Disposizione: allegato; nome del file=' . date('d-m-y') . '_file.csv');header('Pragma: no-cache');echo "\´exEF´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: ... | it