今天调个下载程序。当下载的 URL 中含有中文时候,无法下载,比如:
我就用 .NET 中的 Server.UrlEncode 函数进行转换。但是这样仍然不行。试验了很久也没有找到原因。后来怀疑 ASP.NET 中的 Server.UrlEncode 函数和 ASP 中的 Server.URLEncode 函数返回的值竟然不一样。一实验,竟然确实是。
试验代码
问题原因
解决方法
如果你在 ASP.NET 下采用如下的编码:ASP 和 ASP.NET 的结果就会一样:
采用 Response.Write(HttpUtility.UrlEncode("汇编", Encoding.UTF8)); 返回的就是 Response.Write(Server.UrlEncode("汇编")); 返回的结果。
(System.Text.Encoding.Default 的作用是获取与系统区域设置中的默认 ANSI 代码页相关联的编码。ITPOW编辑注)
相关阅读