使用HTML Agility Pack進行錯誤編碼

character-encoding encoding html-agility-pack unicode

我試圖解析http://www.wein-wg.de/wwg/rheinhessen/worms-pfeddersheim/weingut-goldschmidt/但是無法得到正確的字符集。該網站正在使用iso-8859-1。不知何故,所有unicode字符都顯示為?在Visual Studio中。

是否有可能在Visual Studio或其他任何地方將其轉移到正確的字符集?

一般承認的答案

using HtmlAgilityPack;

HtmlDocument doc;
HtmlWeb web = new HtmlWeb();

private void getPage(string url)
{
    web.OverrideEncoding = Encoding.GetEncoding("iso-8859-1");
    doc = web.Load(url);
    webBrowser1.DocumentText = doc.DocumentNode.OuterHtml;
}

getPage("http://www.wein-wg.de/wwg/rheinhessen/worms-pfeddersheim/weingut-goldschmidt/");

熱門答案

解決了:

        HtmlWeb Webget = new HtmlWeb();
        HtmlDocument doc = new HtmlDocument();
        Webget.AutoDetectEncoding = false;
        Webget.OverrideEncoding = Encoding.UTF8;

        doc_tmp.OptionOutputAsXml = true;
        doc_tmp.OptionReadEncoding = true;
        doc_tmp.OptionFixNestedTags = true;
        doc_tmp.OptionDefaultStreamEncoding = Encoding.UTF8;

                doc_tmp.LoadHtml(tmp.InnerHtml);
                doc_tmp.Save(Console.Out);



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因