2013-07-21 33 views
2

我试图获得一个网页,但是我遇到了特殊字符的问题。如何转换数据以获得正确的读数?网站使用ISO 8859-1,我必须使用UTF 8.使用HTML Agility Pack和xpath将“iso-8859-1”转换为“utf-8”

string url = "http://www.ta-meteo.fr/troyes.htm"; 
     HtmlWeb web = new HtmlWeb(); 
     HtmlDocument doc = web.Load(url); 
     HtmlNode bulletinMatin = doc.DocumentNode.SelectSingleNode("//*[@id='blockdetday0']/div[1]/p[1]"); 
     MessageBox.Show(bulletinMatin.InnerText);  

谢谢。

+0

很简单:什么都不做。 –

+0

...非常感谢... – Erako

回答

3

我解决了这个问题

string url = "http://www.ta-meteo.fr/troyes.htm"; 

Encoding iso = Encoding.GetEncoding("iso-8859-1"); 
    HtmlWeb web = new HtmlWeb() 
     { 
      AutoDetectEncoding = false, 
      OverrideEncoding = iso, 
     }; 

    HtmlDocument doc = web.Load(url); 
    HtmlNode bulletinMatin = doc.DocumentNode.SelectSingleNode("//*[@id='blockdetday0']/div[1]/p[1]"); 
    MessageBox.Show(bulletinMatin.InnerText);  
+0

对我来说就像是一个魅力。我试过“Encoding.UTF8”,但没有奏效。 谢谢! –

+0

doc.OptionDefaultStreamEncoding = Encoding.UTF8; – elle0087