【发布时间】:2023-03-26 03:16:01
【问题描述】:
我有这个脚本让用户下载文件:
header('Content-Encoding: UTF-8');
header("Content-Type: application/vnd.ms-excel; charset=UTF-8");
header("Content-Disposition: attachment; filename=qa_report.xlsx");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
// echo excel file ...
exit;
文件总是有BOM标记,我怎么不能去掉BOM标记?
【问题讨论】:
-
如何创建“Excel”输出?可能只是带有假 mime 类型的 CSV?
-
@mario 是的,我正在创建“Excel”输出。不,它不是假的,当我用 HEX 编辑器打开文件并删除 BOM 时,文件正在工作,否则我无法用 excel 读取文件。
-
然后检查所有 PHP 脚本的 BOM 标记。
-
看看这个问答是否有帮助stackoverflow.com/q/4348802 - 你可以像我一样使用“excel bom php”进一步研究。还有很多其他结果。
-
@One Man Crew:对我来说解决这个问题的最简单方法是在 notepad++ 中打开文件并在“编码”选项卡下,确保使用末尾没有 BOM 的编码。
标签: php phpexcel byte-order-mark