4

重複の可能性:
PHP で文字列を BOM 付きの UTF-8 としてエンコードする

このコードでphpからcsvファイルをエクスポートできます

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');

$output = fopen('php://output', 'w');

しかし、このコードは charset でファイルを作成しますが、 charsetutf-8 without BOMが必要utf-8です。
この問題の方法はありますか?

4

1 に答える 1

14

これが私がそれをした方法です。

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream'); 
header('Content-Disposition: attachment; filename=file.csv'));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
echo "\xEF\xBB\xBF"; // UTF-8 BOM
echo $csv_file_content;
exit();

もちろん、必要なものに置き換えることができecho $csv_file_contentます。

于 2012-12-08T14:23:19.620 に答える