已有
1,228 位领导视察,其中有
0 位领导做了批示.
上午在弄yahoo的天气预报
http://weather.cn.yahoo.com/index.html
大家在这个链接中看到的只是当天的天气
在这个链接中看到的是三天的天气,要处理的就是这个页面
http://weather.cn.yahoo.com/area.html?city=城市
直接在浏览器中输入地址返回的结果是正确的
但是
如果直接在程序中去处理形如这样的页面,得到的结果就是错误的
http://weather.cn.yahoo.com/area.html?city=武汉
为什么呢?
就是没有对“武汉”进行url编码
不管是asp还是asp.net中都是用Server.UrlEnCode()来处理
于是在处理过程中很自然的:
Server.UrlEnCode("武汉")
但返回的结果还是错误.
试过多次还是一样的错误
会不会是通过UrlEncode后出现问题?
于是在.net环境下单独对"武汉"作了UrlEncode的转换
然后在asp环境下也对“武汉”作了UrlEnCode的转换
结果在这二种环境下产生的字符串完全不同!
为什么会这样?
ASP.net 中的 Server.UrlEncode 默认是按照 UTF-8 编码方式进行处理的。而ASP中是按照本地设置编码方式进行处理的。
知道这个以后就好办了
HttpUtility.UrlEncode("武汉",Encoding.Default)
这样就正确了!