HTML内部文本中的重音字母和引号

时间:2019-06-20 15:06:08

标签: c# html string text

我从html页面中获取文本,但是当我在屏幕上打印时,带有问号的重音字母和符号如下:<< >>或«»。

示例代码:

static void Main(string[] args)
{
    var html = @"<body>
                    <p>This is the text with «quotation marks» and accented word wè</p>
                 </body>";

    var htmlDoc = new HtmlDocument();
    htmlDoc.LoadHtml(html);

    var htmlNodes = htmlDoc.DocumentNode.SelectSingleNode("//body");

    Console.WriteLine(Regex.Replace(WebUtility.HtmlDecode(htmlNodes.InnerText), @"\r\n?|\n|[ ]{2,}", ""));
    Console.ReadLine();

}

我已经使用WebUtility.HtmlDecode(string)解码字符串,并使用HtmlAgilityPack来管理HTML

  

在我上面编写的代码示例中,返回的字符串使用真实字符是正确的:

     

-这是带有引号和重音字wè

的文本      

但是在我的情况下,在html页面中(以与上面相同的方式显示)将带重音符号的字母和符号(如引号)打印为带有问号的代码,如下所示:

     

-这是带引号的文本吗?和重音词w?

当带有问号的真实字母出现时如何保存?

谢谢。

1 个答案:

答案 0 :(得分:0)

有关特殊字符的代码列表,请参见https://www.whatsmyip.org/html-characters/。例如,è应该被编码为&#232;