如何*.asp
在 IIS 下的网站中设置文件(经典 ASP)以将 Response Header 的 Content-Type 设置为text/html;charset=UTF-8
?现在,这些文件作为Content-Type=text/html
.
另一种方法是添加<% Response.Charset = "UTF-8" %>
到每个页面,但我想知道是否有办法在全球范围内这样做。
谢谢!-K
如何*.asp
在 IIS 下的网站中设置文件(经典 ASP)以将 Response Header 的 Content-Type 设置为text/html;charset=UTF-8
?现在,这些文件作为Content-Type=text/html
.
另一种方法是添加<% Response.Charset = "UTF-8" %>
到每个页面,但我想知道是否有办法在全球范围内这样做。
谢谢!-K
编辑 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
我猜你只需要弹出response.ContentType = "text/html;charset=UTF-8"
一个<!-- #include file="..\includes\common.asp" -->
类型包括(或类似的)。
CharSet
无法为应用程序全局指定。
实际上,它不仅仅是告诉客户端它正在获取 UTF-8。您还需要确保将响应对象配置为 65001 代码页。这至少可以AspCodePage
在应用程序级别(或直接在 IIS7 管理器的 ASP 功能中)使用元数据库值全局设置。
但是,我对这类事情的偏好是避免依赖于正确配置的服务器。每个页面设置其代码页(使用@CODEPAGE
指令或使用Response.Codepage
)及其CharSet
.
我对这种方法有两个原因。一是最终 CharSet/Codepage 是在创建和保存文件时做出的选择。另一个是在解聚/复制站点时,您需要记住的配置越少越好。