0

PHP 是否header('Content-type: text/html; charset=utf-8');需要设置时

AddDefaultCharset utf-8
<IfModule mod_mime.c>
  AddCharset utf-8 .php .html .xml .css .js .json
</IfModule>

在我的 .htaccess 文件中定义?.php 文件是否受此规则影响?

我正在设置一个settings.cfg.php-document,并想知道我是否真的需要这行代码 - 如果它会有点矫枉过正。

我知道这不是必需的,但强烈建议保留<meta charset="utf-8">index.php-document 中,因为最终用户无权修改我的 Apache 服务器设置。但这只会影响客户端内容,而不影响 PHP 从服务器端创建的 og 内容 - 如果这有任何意义的话......

编辑:这是我的 index.php:
load.initialize.php需要我的settings.cfg.php文档在最顶部...

<?php require_once 'initialize/load.initialize.php'; ?>
<!DOCTYPE html>
<head>
<meta charset="utf-8">
    ...
</head>
<body>
<!--
    this document includes page -header, -navigation, -content and -footer,
    where the content-part is just including other .php content pages or fetching content from database.
-->
<?php require 'template/load.template.php'; ?>
</body>
</html>
4

1 回答 1

1

您的标头将已经通过 htaccess(如果它被触发)并且您不需要在 PHP 中再次定义字符集,但 html 属性仍然可以保留。

确认这一点的一个好方法是检查来自终端等的 curl 请求,并查看原始标头的外观(一个简单的 curl -v http://example.com/即可)。检查前后并检查是否有任何差异以确认。

于 2013-04-27T23:44:51.667 回答