Server.UrlEncode不适用于“*”ASP.net 3.5

时间:2010-08-11 08:19:43

标签: asp.net .net-3.5 urlencode

为什么?

Server.UrlEncode("2*")

返回2*

虽然它应该返回2%2A

this demo site

上测试过

2 个答案:

答案 0 :(得分:2)

RFC 1738明确允许网址中的*

  

因此,只有字母数字,特殊字符“$ -_。+!*'(),”和      可以使用用于其保留目的的保留字符      在URL中未编码。

所以,没有必要对它进行编码。

您链接到的页面是一个经典的asp页面,所以使用UrlEncode,这是一个很旧的实现而不是.NET实现。

答案 1 :(得分:0)

根据.NET,*是一个'安全'字符,不需要编码。

这是否真的正确,我不知道。