バイナリファイルを送信する場合、どのようなHTTPヘッダを選択するかを常に考えておく必要があります。CSV ファイル (Excelで処理できるシンプルなテキストテーブルとしてほぼ理想的なフォーマット) を送る場合、 `Content-Type: application/csv`, `UTF-8` エンコーディングが有効です。
しかし、Excelの一部のバージョンでは、UTF-8のエンコードに問題があります。正しいエンコーディングを検出するために、UTF-8 BOM
を挿入する必要があります。これは特殊文字 xEFxBBxBF
で、他のエンコーディングでは存在しないため、クライアントにUTF-8であることを知らせます。
したがって、以下のようにヘッダを送信します。
header('Content-Type: application/csv; charset=utf-8');header('Content-Disposition: attachment; filename=。' . date('エムワイ') . '_file.csv');header('プラグマ:no-cache');echo "\xEFxBBxBF";
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: ... | ja