【问题标题】:Replace special characters to display as in database替换特殊字符以在数据库中显示
【发布时间】:2019-08-16 09:47:12
【问题描述】:

我在 asp.net 中制作了一个屏幕供用户输入数据。有一个字段备注 varchar(200)。当用户输入任何特殊字符,如 &、"、> 时,它会按原样保存在 sql server 中,但当它显示在屏幕上时,这些字符会变为 &amp、&quot、&gt

我使用替换修复了 &amp -

txtRemarks.Text = IIf(row.Cells(26).Text = " ", "", IIf(row.Cells(26).Text.Contains("&"), row.Cells(26).Text.Replace("&", "&"), row.Cells(26).Text))

但是这样如何替换多个字符呢?

例如, 当

dgtremarks = "super > & su"per

它在屏幕上显示为

dgtremarks = "super > & su"per

【问题讨论】:

  • 这听起来不像是SQL server的问题,而是显示层的问题;除非您使用 SQL Server 的 FOR XML PATH 功能?如果是这样,我们需要 SQL。
  • 不,我没有使用 FOR XML PATH 功能。我能够修复 & 问题,但其他角色存在问题
  • 您需要查找 HTMLDecode 和 HTMLEncode。 docs.microsoft.com/en-us/dotnet/api/… 不要尝试用一堆奇怪的字符替换来做到这一点。

标签: sql-server regex vb.net special-characters


【解决方案1】:

在屏幕上显示之前,您可以使用以下内容:

WebUtility.HtmlDecode(mystring)

我建议了解 HtmlEncode 和 HtmlDecode

【讨论】:

    猜你喜欢
    • 2021-06-14
    • 1970-01-01
    • 2016-10-08
    • 2011-12-28
    • 1970-01-01
    • 2014-07-10
    • 2018-10-23
    相关资源
    最近更新 更多