C# 用特殊字符编写HTML文件

C# 用特殊字符编写HTML文件,c#,html,C#,Html,我在向HTML中写入特殊字符时遇到了问题 基本上,我的程序正在编辑一个HTML文件,通过文本框,我将替换HTML文件中的内容 但是我希望它能够添加诸如“ç”、“á”、“ö”等字符。 我知道在HTML中,这些字符有某种代码,我不想手动检查每个字符串并将这些字母替换为特殊代码 必须有一种方法来转换字符串并用HTML编写它们 以下是我迄今为止所做的尝试: string utf8_String = textBox8.Text; byte[] bytes = Encoding.Default.GetByt

我在向HTML中写入特殊字符时遇到了问题 基本上,我的程序正在编辑一个HTML文件,通过文本框,我将替换HTML文件中的内容

但是我希望它能够添加诸如“ç”、“á”、“ö”等字符。 我知道在HTML中,这些字符有某种代码,我不想手动检查每个字符串并将这些字母替换为特殊代码

必须有一种方法来转换字符串并用HTML编写它们

以下是我迄今为止所做的尝试:

string utf8_String = textBox8.Text;
byte[] bytes = Encoding.Default.GetBytes(utf8_String);
utf8_String = Encoding.UTF8.GetString(bytes);
content = content.Replace("{8}", utf8_String);

但是它不起作用。

您应该使用
System.Web.HttpUtility
类,特别是
HtmlEncode
HtmlDecode
方法来处理html字符串

HtmlEncode
方法将字符串中的每个特殊字符转换为等效的html实体
HtmlDecode
的作用正好相反


有关更多详细信息,请参阅。

您需要的是阅读文本框。文本使用
HtmlAgilityPack
,然后使用
HtmlEntity.Entitize
方法。然后将
Entitize
值设置为文本框。这里是控制台应用程序中的一个小示例

    public static void  Main(string[] args)
    {
        string html = @"<!DOCTYPE html>
<html>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

<span>ç</span>

</body>
</html>";

        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(html);
        Console.WriteLine(HtmlEntity.Entitize(doc.DocumentNode).InnerHtml);

}

如果您一直在使用UTF-8,您实际上不需要这些HTML实体……“不工作”不是一个问题描述。会发生什么?在编辑前后显示一个HTML文件的示例。检查我的答案并告诉我是否对您有帮助。我使用了第一个答案,因为它看起来更简单,我只需要将4个文本框转换为使用特殊字符,谢谢您的时间!
PM> Install-Package HtmlAgilityPack