解析html时被问号替换的字符

本文关键字:替换 字符 html 解析 | 更新日期: 2023-09-27 18:13:41

我正在使用htmllagilitypack读取解析html文件并提取一些文本:

static void Main(string[] args)
        {
            var webGet = new HtmlWeb();
            var document = webGet.Load("http://port.ro/");
            var programs = from program in document.DocumentNode.Descendants()
                           where program.Name == "a" && program.Attributes["href"] != null && program.InnerText.Trim().Length > 0
                           select program.InnerText ;
            foreach (string s in programs)
            {
                Console.WriteLine(s);
            }
            Console.ReadLine();
        }

我的问题是网站包含像à这样的字符,当我打印它们时,它们被?取代。

当我打印文本字符àa取代或像à一样打印时,我应该怎么做?

解析html时被问号替换的字符

您是否尝试使用或设置网站所需的编码?这将帮助您获得合适的文本

var document = webGet.Load("http://port. load ")。//检查编码

上面的是htmldocument

HtmlWeb

试试这个:

var web = new HtmlWeb
{
    AutoDetectEncoding = false,
    OverrideEncoding = myEncoding,
};
var doc = web.Load(myUrl);

HtmlAgility中有设置流编码的属性(通常它应该自动检测编码),但可能不适合您的页面。(错误的meta标签等)