WebClient client = new WebClient();
client.Encoding = Encoding.GetEncoding("gb2312");string url = string.Empty;
url = "http://www.whjyj.gov.cn/html/news.asp?ClassId=22&ClassName=教育新闻";Response.Write(client.DownloadString(url));输出下载的页面内容中,页面中只有地址参数中的教育新闻都变成乱码了。别的都没问题。
我试过多种编码,但就是教育新闻编码不过来,这几个是UTF-8的转码格式!
Namespace: System.Web
Assembly: System.Web (in System.Web.dll)参考:
http://msdn.microsoft.com/en-us/library/zttxte6w.aspx
url = "http://www.whjyj.gov.cn/html/news.asp?ClassId=22&ClassName=" + Server.UrlEncode("教育新闻");
结果和不编码是一样的。
如果像你这样url = HttpServerUtility.UrlEncode(url);
那整个地址都重新编码了后根本就识别不出来地址。你可以试试看。
看来的确是编码的问题,用这种方法HttpUtility.UrlEncode("教育新闻",Encoding.GetEncoding("GB2312"));编码汉字的话
webclient.DownloadString下载的也不会出现乱码了。
非常感谢各位的帮忙