PHP - 如何在不使用标头的情况下保留 UTF-8 编码(“内容类型:....


PHP - How to keep the UTF-8 encoding without using the header ("Content-Type:.......?

如果在 PHP 脚本的开头我使用以下行:

header("Content-Type: text/html; charset=utf-8",true);

我无法重定向页面:

header("Location: index.php")

那么我如何设置编码是 UTF-8 并且您仍然可以使用此重定向代码?

你能用 Javascript 行使用重定向吗,但不要认为正确关闭和打开 php 来插入 Javascript。

指定文档的内容类型不应阻止 HTTP 重定向工作...但大多数用户无论如何都不会看到该文档。它仅适用于不自动遵循 HTTP 重定向的客户端。

对于大多数客户端,它们将被重定向到index.php(请注意,您的位置标头中存在错误,HTTP 规范要求 is 保存绝对 URI,而不是相对 URI),然后index.php将负责描述其输出的文档的内容类型。

您需要将header("Content-Type: text/html; charset=utf-8",true)放在index.php中,而不是重定向到它的脚本中。