C# 使用Html Agility Pack解析特殊字符时的奇怪输出

C# 使用Html Agility Pack解析特殊字符时的奇怪输出,c#,web-scraping,C#,Web Scraping,我正试图抓取一个法语网站,但法语有一些特殊字符,如é和á等,我最终得到了一些奇怪的输出,例如,而不是那些(在谷歌Chrome中检查) 如果我理解这个问题,你可以使用 转换已为HTTP传输进行HTML编码的字符串 转换成解码字符串 要在web应用程序之外对值进行编码或解码,请使用 WebUtilityclass 示例 Console.WriteLine(SubCategory); Console.WriteLine(HttpUtility.HtmlDecode(SubCategory)); 输出

我正试图抓取一个法语网站,但法语有一些特殊字符,如
é
á
等,我最终得到了一些奇怪的输出,例如,而不是那些(在谷歌Chrome中检查)


如果我理解这个问题,你可以使用

转换已为HTTP传输进行HTML编码的字符串 转换成解码字符串

要在web应用程序之外对值进行编码或解码,请使用
WebUtility
class

示例

Console.WriteLine(SubCategory);
Console.WriteLine(HttpUtility.HtmlDecode(SubCategory));
输出

Rides installées
Rides installées

那正是我要找的!我使用了
htmlDocument.LoadHtml(HttpUtility.HtmlDecode(html))
@Yox请小心,提前使用它可能会破坏您的html结构。最好在你需要的文本上使用它
string url = "https://universparadiscount.ma/7-product.html";
HttpClient httpClient = new HttpClient();
string html = await httpClient.GetStringAsync(url);
HtmlDocument htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(html);

string SubCategory = htmlDocument.DocumentNode.Descendants("span")
    .Where(node => node.GetAttributeValue("itemprop", string.Empty)
    .Equals("title")).LastOrDefault()?.InnerText.Trim('\r', '\n', '\t', ' ');
Console.WriteLine(SubCategory);
Console.WriteLine(SubCategory);
Console.WriteLine(HttpUtility.HtmlDecode(SubCategory));
Rides installées
Rides installées