【问题标题】:Specifying a character set in HTTP headers在 HTTP 标头中指定字符集
【发布时间】:2015-05-15 14:36:26
【问题描述】:

使用 Google PageSpeed 测试器时,我得到以下信息:

以下资源的 HTTP 标头中没有指定字符集。在 HTTP 标头中指定字符集可以加快浏览器呈现速度。
http://www.ntainc.com/

我到处搜索,似乎无法弄清楚为什么它没有“读取”我的字符集。我在 html 文档标题中列出了它:

<meta charset="utf-8">

在我的 web.config 文件中:

<?xml version="1.0" encoding="UTF-8"?>

还有一个 .htaccess 文件:

AddDefaultCharset utf-8

我相信我们的服务器是一个 IIS。我错过了什么?

【问题讨论】:

  • 你错过了什么?你忘了告诉我们你有什么症状。

标签: utf-8 character-encoding http-headers


【解决方案1】:

警告指的是 HTTP Content-Type 标头。它由您的网络服务器发送到客户端,如下所示:

Content-Type: text/html

它需要像这样发送:

Content-Type: text/html; charset=utf-8

您需要检查您的网络服务器配置。您的.htaccess 添加应该将charset 属性添加到标题中,但显然不是。所以要么你把它放在错误的.htaccess文件中,要么服务器忽略它。

您的 HTML 包含 &lt;meta charset&gt; 标记的事实与警告无关,因为 HTML 只是 HTTP 响应正文中的任意数据(尽管它确实允许支持 HTML5 的客户端处理您的 UTF-8 编码HTML 正确)。

您的 web.config 字符集无关紧要,因为它仅由您的网络服务器解释,而不是客户端。

【讨论】:

  • 我会在星期一到办公室检查。我知道 .htaccess 文件说:AddDefaultCharset utf-8。是不是写错了?
  • 我的 .htaccess 文件确实说 AddDefaultCharset utf-8。我想知道我是否有错误的语法?
猜你喜欢
  • 1970-01-01
  • 2019-07-17
  • 2011-12-19
  • 2017-09-02
  • 2015-12-16
  • 1970-01-01
  • 1970-01-01
  • 2016-11-07
  • 2019-04-04
相关资源
最近更新 更多