2013-07-21 63 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