C# 使用HTMLAgilityPack编码

C# 使用HTMLAgilityPack编码,c#,html-agility-pack,C#,Html Agility Pack,我试图解析一个包含特殊字符(如“é”)的网页。问题是这些字符在我的代码的最终输出中的显示方式不同。以下是一个例子: “Réalisations”变为“RÃalisations” 我正在以一种非常基本的方式解析文档;首先,我发送一个HttpWebRequest,获取响应,然后从该响应加载HtmlDocument,如下所示: HtmlDocument.Load(response.GetResponseStream()); 我检查的第一件事是编码,但它被正确地设置为UTF-8。有人知道是什么导致了这

我试图解析一个包含特殊字符(如“é”)的网页。问题是这些字符在我的代码的最终输出中的显示方式不同。以下是一个例子:

“Réalisations”变为“RÃalisations”

我正在以一种非常基本的方式解析文档;首先,我发送一个HttpWebRequest,获取响应,然后从该响应加载HtmlDocument,如下所示:

HtmlDocument.Load(response.GetResponseStream());
我检查的第一件事是编码,但它被正确地设置为UTF-8。有人知道是什么导致了这样的事情吗

其他一些信息:

当我将HtmlDocument的html(HtmlDocument.DocumentNode.OuterHtml)复制到一个.txt文件中时,它一开始呈现不正确,但当我关闭并打开.txt文件时,它呈现正确


谢谢。

当您第一次获取页面内容时,编码可能是错误的,它与HTMLAgilityPack无关。当您在webrequest上设置编码时,这将得到解决。

当您第一次获取页面内容时,编码可能是错误的,并且与HtmlAlityPack无关。当您在webrequest上设置编码时,问题就解决了。

问题可能在于第一步从何处获取HtmlDocument内容。您是否检查了response.GetResponseStream()返回的内容?请将其作为答案,我会将其标记为正确。谢谢你,伙计!问题可能在于第一步从何处获取HtmlDocument内容。您是否检查了response.GetResponseStream()返回的内容?请将其作为答案,我会将其标记为正确。谢谢你,伙计!