1

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

“现实”变成“现实”

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

HtmlDocument.Load(response.GetResponseStream());

我检查的第一件事是编码,但它被正确设置为 UTF-8。有谁知道什么会导致这样的事情?

一些附加信息:

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

谢谢。

4

1 回答 1

1

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

于 2013-11-14T12:02:30.207 回答