使用HTML Agility Pack进行错误编码

问题描述 投票:0回答:2

我试图解析http://www.wein-wg.de/wwg/rheinhessen/worms-pfeddersheim/weingut-goldschmidt/但不能得到正确的字符集。该网站正在使用iso-8859-1。不知何故,所有unicode字符都显示为?在Visual Studio中。

是否有可能在Visual Studio或其他任何地方将其转移到正确的字符集?

unicode encoding character-encoding html-agility-pack
2个回答
1
投票
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/");

1
投票

解决:

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);
© www.soinside.com 2019 - 2024. All rights reserved.