我用的是webrequest类,抓下来的网页很多都是乱码,我现在是通过先读一小部分html文本并判断是不是gb2312,是的就 用gb2312编码方式存,否则用utf-8.但是还有不少网页是乱码,各位有没有什么好的办法啊。
解决方案 »
- 使用Gridview批量修改每一列!
- 如何用C#实现自动安装P12证书,求解决!!!!
- 求助~~“标准表达式中数据类型不匹配”
- XSLT转换xml 思归 孟子以及各位NB大大帮忙呀!!!
- VS 设计视图 不能正常显示页面内容 高手帮忙啊
- CLR HOSTING,怎么搞定把.NET CLR寄宿在自己编写的.NET程序上?
- (sharepoint高手请进)如何实习匿名登录和用户登录访问的切换,救命的
- 求除csdn以外,其他比较著名的.net技术论坛名称(含国外的)
- DataGrid的问题,麻烦有这方面经验的高手多多帮忙
- asp.net 使用nhibetnate
- 怎么实现在对话框中保存Session和Cookies
- c#里如何设置enter键的默认按钮?
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Stream strm=myHttpWebResponse.GetResponseStream();
StreamReader sr=new StreamReader(strm,Encoding.Default);
string outdata=sr.ReadToEnd();
byte[] pageData=wb.DownloadData(@url);
string result=Encoding.Default.GetString(pageData);
/// Get a charset information from the target web uri;
/// </summary>
/// <param name="targetUri">Target web Uri</param>
/// <returns>The Encoding the website used</returns>
public Encoding GetWebEncoding(Uri targetUri)
{
Encoding enc = Encoding.ASCII;
WebClient browser = new WebClient();
string strContent = enc.GetString(browser.DownloadData(targetUri.ToString())); Match m = regEncoding.Match(strContent);
if(m.Success)
{
return Encoding.GetEncoding(m.Groups[1].ToString());
}
return Encoding.GetEncoding("gb2312");
}