需要明确的是,在将 HTML 存储到 SQL Server 之前,您不需要对其进行编码。 SQL Server 并不关心你的字符串是什么样的,它会很好地存储它。 OP 有问题,但并不是 SQL Server 不会存储它。
HTML 编码仅更改 HTML 中的特殊字符,以便可以通过不支持完整字符集的旧技术来处理它们。
然而,清理很重要,但确保病毒不会进入您的数据是一个不同的概念。
您可以使用HTML编码和解码。
在将字符串插入数据库之前,只需对其进行 html 编码。所以你的字符串会变成这样
<p><span style="color:#FF0000"><span style="background-color:#00FFFF">This is my text</span></span></p>
从数据库读取时只需解码字符串即可。
插入:
string toInsert = "<b>some html tags</b>";
encodedString = Server.HtmlEncode(toInsert);
// encodedString is <b>some html tags</b>
// insert into the database
阅读:
string readFromDatabase = // read from database;
string originalString = Server.HtmlDecode(readFromDatabase);
// originalString is "<b>some html tags</b>"