标题内容类型Charset UTF-8与BOM

时间:2013-07-02 11:38:44

标签: php character-encoding header content-type encode

我正在制作一些必须下载和上传的文件。该文件具有som不同的编码,只有在使用带有BOM的UTF-8打开文件时才有效。

目前我正在使用这个简单的标题header('Content-Type: text/html; charset=utf-8');,但我如何更改设置,以便将文件文件视为带有BOM的UTF-8。

希望得到一些帮助。 谢谢!

1 个答案:

答案 0 :(得分:4)

绝对不需要在HTML文件中包含BOM。 (如果它真的包含不同的编码,那么UTF-8 BOM会被破坏,所以听起来你有点困惑。)

如果您希望将文件保存到磁盘并在不需要UTF-8的地方使用,您可以添加元素以指示编码:

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>

如果实际上您使用的是不同于UTF-8的编码,那么只需更改元属性中的值,而不是BOM。

如果你真的必须有BOM,那么你需要确保它是你输出的第一件事,例如。

echo "\xEF\xBB\xBF";

有关实际有意义的示例,请参阅How can I output a UTF-8 CSV in PHP that Excel will read properly?