Asp classic ASP响应。重定向未对“+”符号进行URL编码

Asp classic ASP响应。重定向未对“+”符号进行URL编码,asp-classic,urlencode,response.redirect,Asp Classic,Urlencode,Response.redirect,在IIS 5.0响应之前。重定向未对您私有的字符串进行编码。对字符串进行URL编码是您自己的责任 在iis4.0上,我们使用了 Response.Redirect Server.URLEncode("Page,One.asp") 在IIS 5.0中,我们刚开始使用 Response.Redirect("Page,One.asp") 因此,新的Response.Redirect函数URL对字符串进行编码,没有其他选项 只有一个问题。我不能在字符串中传递+符号。 当执行Response.Redi

在IIS 5.0响应之前。重定向未对您私有的字符串进行编码。对字符串进行URL编码是您自己的责任

在iis4.0上,我们使用了

Response.Redirect Server.URLEncode("Page,One.asp")
在IIS 5.0中,我们刚开始使用

Response.Redirect("Page,One.asp")
因此,新的Response.Redirect函数URL对字符串进行编码,没有其他选项

只有一个问题。我不能在字符串中传递+符号。 当执行Response.Redirectsum=1+3时,您希望它对所有非字母数字字符进行编码,但在接收页面上,+号变成空格字符

执行Response.Redirect“sum=1%2B3”时,将收到404 Not Found,因为服务器上不存在sum%3D1%25B23,因为%2B被编码了两次

我希望+被编码为%2B,以便接收页面理解它实际上是某个文本的一部分并显示它

让我举个例子: 你打字的时候 http://translate.google.com/en|tr | 1%2B2 进入浏览器并按enter键,您将看到google接受%2B并在文本区域将其解码为a+

都不是

回答,红色irecthttp://translate.google.com/en|tr | 1%2B2

回答,红色irecthttp://translate.google.com/en|tr | 1+2

与我给出的示例中的效果相同。我只想重定向到那个页面

还有另一种方法,如先对字符串进行编码,然后使用响应重定向。重定向unescape页面%2COne%2Easp,但转义和unescape函数支持UTF-8和ASCII 0-127的某些部分,但不支持高ANSI 128-255字符,尤其是欧洲重音字符

有什么建议吗?

因此,新的Response.Redirect函数URL对字符串进行编码,没有其他选项

你说没有其他选择是什么意思


server.urlencode仍然存在

谢谢。我找到了一个办法。你是对的!server.urlencode仍然可以工作,但当您希望使用response.redirect重定向时,它是否已编码,它将再次编码。现在我使用response.addheaderLocation,server.url encodeStrings,我使用了如下javascript重定向: