差异元和PHP标头

时间:2013-06-05 10:10:03

标签: html utf-8 header meta

这两者有什么区别,我应该同时使用吗?我希望我的网站完全是UTF-8。

在PHP中:

<?php 
header("Content-Type: text/html; charset=utf-8");
?>

HTML中的元标记:

<meta charset="utf-8">

2 个答案:

答案 0 :(得分:3)

HTTP <{1}}标头应该始终设置,它是浏览器确定它正在处理哪种文档的主要来源。只有当缺少此标头时,浏览器才会尝试查找HTML元标记,该标记为其提供与后备相同的信息

虽然设置两个标志是有意义的,因为您可以将HTML文档保存到磁盘,在这种情况下,HTTP标头将在以后需要它的任何人身上消失。

您可以在此处找到浏览器如何确定文档字符集的确切规则:http://www.w3.org/TR/html5/syntax.html#determining-the-character-encoding

答案 1 :(得分:1)

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

是服务器端,依赖于PHP脚本在将新页面发送到客户端之前调用它。

<meta charset="utf-8">

元元素有两个用途:要么模拟HTTP响应标头的使用,要么在HTML文档中嵌入其他元数据。 因此,元标记是在您的网站上使用utf-8的最佳方式。