首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP Response.Redirect不URLEncode "+“符号

ASP Response.Redirect不URLEncode "+“符号
EN

Stack Overflow用户
提问于 2011-01-22 01:01:49
回答 1查看 2.3K关注 0票数 0

在IIS5.0之前,Response.Redirect没有对您所要编码的字符串进行编码。URLEncode字符串是您自己的责任。

在IIS 4.0上,我们使用了

代码语言:javascript
复制
Response.Redirect Server.URLEncode("Page,One.asp")

在IIS5.0中,我们刚刚开始使用

代码语言:javascript
复制
Response.Redirect("Page,One.asp")

因此,新的Response.Redirect函数URLEncodes您的字符串,没有其他选项。

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

执行Response.Redirect(“sum=1%2B3”)时,由于服务器上不存在"sum%3D1%25B23“,因此接收到"404 Not”,因为%2B被编码了两次。

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

让我举个例子:当你在浏览器中输入http://translate.google.com/#en|tr|1%2B2,pres进入时,你会看到google接受%2B,并在文本区域将其解码为+。

都不是

Response.Redirect(“http://translate.google.com/#en|tr|1%2B2"”)

Response.Redirect(“http://translate.google.com/#en|tr|1+2"”)

效果和我给出的例子一样。我只想重定向到那一页。

还有另一种方法,比如首先编码字符串,然后用Response.Redirect unescape("Page%2COne%2Easp")重定向,但转义和反转义函数支持UTF-8和ASCII的某些部分(0-127),但不支持高ANSI (128-255)字符,特别是欧洲重音字符。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2011-01-31 19:39:52

因此,新的Response.Redirect函数URLEncodes您的字符串,没有其他选项。

你说别无选择是什么意思?

server.urlencode仍然存在

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4765453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档