ASP.net和ASP中的Server.UrlEncode函数
今天调个下载程序。当下载的URL中含有中文时候,无法下载,比如:
http://www.huachu.com.cn/itbook/booklist.asp?tsmc=汇编
我就用 .net 中的 Server.UrlEncode 函数进行转换。但是这样仍然不行。试验了很久也没有找到原因。后来怀疑 ASP.net中的Server.UrlEncode函数和ASP中的Server.URLEncode函数返回的值不一样。一实验。竟然确实是。
试验代码:
ASP.net 中 如下代码? Response.Write(Server.UrlEncode("汇编"));
返回: %e6%b1%87%e7%bc%96
ASP 中 如下代码 Response.Write Server.URLEncode("汇编")
返回: %BB%E3%B1%E0
产生这个问题的原因:ASP.net 中的 Server.UrlEncode 默认是按照 UTF-8 编码方式进行处理的。而ASP中是按照本地设置编码方式进行处理的。
如果你在 ASP.net 下采用如下的编码: ASP 和 ASP.net 的结果就会一样:
Response.Write(HttpUtility.UrlEncode("汇编",Encoding.Default));
采用:Response.Write(HttpUtility.UrlEncode("汇编",Encoding.UTF8));返回的就是...
Response.Write(Server.UrlEncode("汇编"));返回的结果...
版权声明:
作者:Kiyo
链接:https://www.wkiyo.cn/html/2008-01/i332.html
来源:Kiyo's space
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论