我使用经典asp已经十多年了,我不记得见过这个问题。这是我的代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<% Option Explicit %>
<%
Response.Expires = -1
Response.CacheControl = "No-cache"
Response.Charset = "windows-1252"
Response.Buffer = false
Server.ScriptTimeout = 300
%>
hello
world
with
unwanded
characters
这是我在输出中得到的内容:
2a hello world with unwanded characters 0
在开头和结尾添加了一些字符,我不知道为什么,但它似乎与缓冲区有关。如果我设置 Buffer = True,它可以解决问题,但由于真实页面将返回大量数据,我必须将缓冲区设置为 false。
我检查了页面编码,一切似乎都很好,文件以 windows-1252 编码保存。IIS 配置与站点上没有任何问题的页面上的其他页面相同。
我不明白这些字符是从哪里来的,但我想它一定与编码有关,有人知道吗?
谢谢
以下 URLRewrite 规则添加到我的 web.config 文件中时,我遇到了同样的问题。这将清空服务器 HTTP 标头。
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
删除规则解决了这个问题。 我不知道为什么会这样,但绝对为我解决了这个问题。