【问题标题】:IIS 6 - Classic ASP - Set *.asp response header's content-type to "text/html;charset=UTF-8"IIS 6 - 经典 ASP - 将 *.asp 响应标头的内容类型设置为“text/html;charset=UTF-8”
【发布时间】:2012-03-19 03:18:27
【问题描述】:

如何在 IIS 下的网站中设置 *.asp 文件(经典 ASP)以将响应标头的 Content-Type 设置为 text/html;charset=UTF-8?目前,这些文件以Content-Type=text/html 的形式提供。

另一种方法是将<% Response.Charset = "UTF-8" %> 添加到每个页面,但我想知道是否有办法在全局范围内这样做。

谢谢! -K

【问题讨论】:

    标签: iis asp-classic iis-6 content-type response-headers


    【解决方案1】:

    编辑 1:我已经使用 IE9 的开发人员工具(网络选项卡)对此进行了测试,

    <%
    response.ContentType = "text/html;charset=UTF-8"
    %>
    

    结果为 Content-Type 的 HTML 标头:

    text/html;charset=UTF-8
    

    然而,在 IIS7 上将其设置为 MIME 级别不会 - 当我弄清楚原因时,我会更新我的答案。

    编辑 2: 我无法在我的测试平台上使用全局 MIME 方法 - 抱歉!网上有这个提示:http://forums.iis.net/p/1166956/1941076.aspx#1941076

    我猜你只需要在 &lt;!-- #include file="..\includes\common.asp" --&gt; 类型包含(或类似)中弹出 response.ContentType = "text/html;charset=UTF-8"

    【讨论】:

    • 所以无论如何我应该修改我网站中的每一页?
    【解决方案2】:

    无法为应用程序全局指定CharSet

    实际上,它不仅仅是告诉客户端它正在获取 UTF-8。您还需要确保将响应对象配置为 65001 代码页。这至少可以在应用程序级别(或直接在 IIS7 管理器的 ASP 功能中)使用 AspCodePage 元数据库值全局设置。

    但是我对这类事情的偏好是避免依赖于正确配置的服务器。每个页面设置其代码页(使用@CODEPAGE 指令或Response.Codepage)及其CharSet

    我采用这种方法有两个原因。一是最终 CharSet/Codepage 是在创建和保存文件时做出的选择。另一个是在解聚/复制站点时,您需要记住的配置越少越好。

    【讨论】:

    • 对于那些可能已经来到这里希望为 ASP.NET 应用程序全局设置CharSet 的人来说,这个 可能。请参阅&lt;globalization&gt; element in Web.config。此外,在 ASP.NET 中,CodePage65001 是默认值。 (CodePage 管理 ASP.NET 源代码在服务器上的处理方式CharSet 管理返回客户端的字符编码(例如 UTF-8) .)
    猜你喜欢
    • 2011-07-12
    • 1970-01-01
    • 2010-10-25
    • 2023-03-30
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    相关资源
    最近更新 更多