【PHP】如何下载CSV文件
你好
以前下载CSV文件的页面经常出现乱码问题,但最近情况如何呢。
代替性的表达方法很多,这里提供一种选项:源代码。
在Windows/Mac系统上遇到了问题,无法正常运行。
<?php
error_reporting( -1 ) ;
ini_set( 'display_errors', 1 ) ;
$csv_text = '㍊,㍻,髙,靍,濵,﨑,①,Ⅳ' ;
$csv_file_name = 'やゔぁい文字が含まれた.csv' ;
header('Content-Type: text/csv') ;
header('Content-Disposition: attachment; filename=' . $csv_file_name . "; filename*=UTF-8''" . urlencode($csv_file_name)) ;
echo pack('C*',0xEF,0xBB,0xBF) . $csv_text ;
结束
请问,是否已经结束了那个指定 Content-Type 为 application/vnd.ms-excel 或 application/octet-stream 的时代?
是否已经结束了使用 mb_convert_encoding() 函数将编码转换为 SJIS-win 的时代?
是否已经结束了为了 Mac 版本的 Excel 转换为带 BOM 的 UTF-16LE 的时代?
是否已经结束了限制文件名只能包含字母的时代?
很棒
参考和注释
-
- 【PHP】mb_convert_encodingでUTF-8→SJIS文字化け
-
- 【php】はしご高が文字化けしない文字コード変換
-
- PHPでダウンロードさせるファイル名がIEで文字化けする件 – Qiita
-
- ExcelでBOM付きが無双するPHPでのCSVの書き出し方
-
- エクセルで文字化けさせないCSVの作り方
-
- PHPでExcelで開いても文字化けしないCSVを出力する – Qiita
- List of HTTP header fields – Wikipedia
但是我听说Apache OpenOffice无法打开。真的吗?
我想向那些很懂的人请教后面刺激我一下。