1

我使用经典 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 配置与站点上的其他页面相同,没有任何问题。

我不明白这些字符来自哪里,但我想它一定与编码有关,有人知道吗?

谢谢

4

1 回答 1

1

当我将以下 URLRewrite 规则添加到我的 web.config 文件时,我开始出现同样的问题。这将清除服务器 HTTP 标头。

<rule name="Remove Server header">
    <match serverVariable="RESPONSE_Server" pattern=".+" />
    <action type="Rewrite" value="" />
</rule>

删除规则摆脱了这个问题。我不知道为什么会这样,但绝对为我解决了这个问题。

于 2018-11-27T01:21:55.090 回答