使用 UTF-8-BOM 编码的 PHP 会话


PHP session with UTF-8-BOM encoding

我创建了一个使用 UTF-8-BOM 编码的 php 页面。我想使用此编码,因为我有一些使用我的区域语言的内容,并且确实正确显示它,我需要使用 UTF-8-BOM 编码。

现在我想在此页面上使用会话,但它抛出已设置的标头错误。

那么有什么方法可以同时使用两者。

如果我尝试仅使用 UTF-8,则以区域格式显示数据不会遇到问题。

见附图。

"字节顺序标记"是一个文件开头的 3 个字节的序列,这使得它与 PHP 几乎不兼容,因为应该包含 PHP 代码的脚本必须以 <?php 标记开头。

显然,并不是说整个事情根本不起作用,但是任何涉及发送HTTP标头(这是很多)的东西都会自动被破坏。

会话使用 cookie - 通过标头传输 - 将不起作用。
重定向到另一个页面 - Location标题 - 将不起作用。
动态生成的下载 - 下载的文件本身将被破坏。

等。

抱歉,但您将不得不放弃 BOM 并找出另一种处理特定于区域设置的数据的方法(无论出于何种原因,我只能假设使用另一个字符集)。