【问题标题】:Wrong encoding with HTML Agility PackHTML Agility Pack 编码错误
【发布时间】:2013-02-10 01:24:55
【问题描述】:
【问题讨论】:
标签:
unicode
encoding
character-encoding
html-agility-pack
【解决方案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/");
【解决方案2】:
解决方法:
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);
【解决方案3】:
其他方式:
var url = "https://www.elmundo.es/espana/2019/09/19/5d835eedfdddff788e8b45bd.html";
var web = new HtmlWeb();
web.OverrideEncoding = Encoding.GetEncoding("iso-8859-1");
var doc = web.Load(url); //.OptionDefaultStreamEncoding = Encoding.UTF8;
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//p");
foreach (var node in nodes)
{
txt_contenido.AppendText(node.InnerText + "\n" );
}
再见