如果在内容类型标题中发送字符集,仍然建议通过元标记在头标记内发送?

时间:2011-09-03 09:24:39

标签: html character-encoding http-headers meta-tags html-head

我几个月前没有这个链接,但有一篇很棒的详细文章介绍了如何设置发送给用户代理的正文的字符集。

文章的要点是,在可能的情况下,通过内容类型标头发送它,因为用户代理解析器在主体开始被解析之前就知道它是(例如)utf-8等。

通过元标记发送它意味着它必须等待找到所述元标记,然后返回到文档顶部并再次开始重新分析文档。

所以很长一段时间以来,我们一直在通过内容类型标头发送字符集,就像这样(在PHP中反正):

header('Content-type: text/html; charset=utf-8');

一切都很棒。据我们所知,所有常用的用户代理都应该如此。

我的问题是,作为备份/故障安全/以防万一,我们是否还应该发送charset元标记?是否会使用元标记再次发送它会失败通过内容类型标题发送它的目的?


编辑:这不是确切的文章,但重新迭代点(http://code.google.com/speed/page-speed/docs/rendering.html#SpecifyCharsetEarly),尽可能通过标题发送字符集。

2 个答案:

答案 0 :(得分:2)

是的,我总是尝试这样做,因为它使文档更具可移植性。例如。从本地文件查看时,它将以与通过Web服务器传送时相同的方式显示。

答案 1 :(得分:0)

  

我的问题是,作为备份/故障保护/只是,我们是否还应该发送charset元标记?

是的,在您的标记中提供指定编码的元标记始终是一种好习惯。它应该是<head>之后的第一个标记。