当使用 W3C 验证器验证我的网页时,我注意到虽然我在 HTML 中指定了 ISO-8859-1 编码,但 Web 服务器似乎在 HTTP 标头中指定了 UTF-8 编码。
我到处都找过了,但似乎找不到改变这种情况的方法——我是不是遗漏了什么?
答案1
现在我已经明白了这一点,也许缺乏答案的原因是我的问题忽略了一个关键的细节,那就是这是一个 ASP.NET 网站。
安装 .NET Framework 时,内容编码在文件中设置Machine.config
,默认为 UTF-8。您可以编辑此文件,这将影响所有 ASP.NET 站点的响应编码,或者您可以使用每个站点文件中的元素在每个站点上覆盖<globalisation>
它Web.config
。
答案2
您可以尝试在 html 文件的标头中添加标签。您还可以尝试检查 HTML 文件中的 UTF8-BOM。如果十六进制编辑器在第一个常规字符之前显示三个字符,那么这可能是 IIS 可能使用该编码发送 Content-Type 标头的原因。