【问题标题】:How remove BOM mark from download file?如何从下载文件中删除 BOM 标记?
【发布时间】: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


【解决方案1】:

我解决了这个问题。问题不在于脚本文件编码,而在于其他未使用 UTF8 编码而没有 BOM 的包含文件。 所有包含文件必须具有相同的编码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2017-12-27
    • 2014-02-07
    • 1970-01-01
    相关资源
    最近更新 更多