我正在改变我的应用程序以使用utf-8页面.

所以每个ASP页面都有这个代码

Response.CodePage = 65001 
Response.CharSet = "utf-8"

和HTML

<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />

我在Visual Studio 2013中保存了所有文件,编码为UTF-8(无签名)65001.

当我在HTML中编写特殊字符时,这样工作正常:

<p>Ateno</p>

但是当我用VBScript(经典ASP)编写时,它不起作用,特殊字符很乱.我可以通过使用编码UTF-8(带签名)65001保存文档(.asp)来修复它们.

所以,我的问题是:

>我是否必须在每个页面上使用此编码(带签名)?
>我可以遇到什么样的问题?

解决方法

您需要为每个.asp文件设置@Codepage指令.我们正在使用一个通用的#include文件,该文件首先包含在每个页面中,并且预先包含以下行:

<%@Codepage = 65001 %>
<% Option explicit %>
<% Response.Codepage = 65001 %>

查看有关Codepage指令here(备注部分)的更多信息.链接的页面是关于Session.Codepage的,如果你想使用内置的Session,它也可能对你有意义.

使用BOM保存所有文件不是IIS的要求,我们保存所有文件而无需BOM正常工作.

根据我的经验,在使用ASP一年多之后的一个注意事项:我们有时会遇到源文件的BOM偷偷摸摸到生成的输出中的问题,这会导致AJAX / JSON响应出现问题.解决方法是在写输出之前使用Response.Clear.

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。