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