日期:2014-05-18  浏览次数:20568 次

URL编码有什么区别?
<a   href= "?action=测试 "> 测试 </a>
<a   href= "?action=%e6%b5%8b%e8%af%95 "> 测试 </a>
<a   href= "?action=%u6d4b%u8bd5 "> 测试 </a>
<a   href= "?action==%b2%e2%ca%d4 "> 测试 </a>

怎么有这么多种编码方式?
Server.UrlEncode是第二种,第三种也可以获取,第四种是asp方式下可以

一、二、三直接Request.QueryString[ "action "]都可以得到“测试”


还有其他的编码吗?区别是什么?谁能帮着总结一下?

------解决方案--------------------
Ascii unicode 下面又分gb2312 utf系列。
建议楼主可以听一下微软webcast的讲座,有一讲asp.net编码。应该可以解释楼主的疑问。

------解决方案--------------------
Server.UrlEncode asp.net默认的url编码是UTF-8的
------解决方案--------------------
utf-8,utf-16,ascii,
------解决方案--------------------
<a href= "?action=测试 "> 测试 </a>
直接传递汉字,在一些情况下可能有问题

<a href= "?action=%e6%b5%8b%e8%af%95 "> 测试 </a>
标准的UrlEncode,是UTF-8编码的

<a href= "?action=%u6d4b%u8bd5 "> 测试 </a>
这个好象是不标准的unicode/wide编码

<a href= "?action==%b2%e2%ca%d4 "> 测试 </a>
这个是ANSI编码