Reporting services SSRS(不一致)用HTML实体代码替换特殊字符

Reporting services SSRS(不一致)用HTML实体代码替换特殊字符,reporting-services,ssrs-2008,special-characters,html-entities,Reporting Services,Ssrs 2008,Special Characters,Html Entities,我们的UI有几个字段是自由文本框,通常供用户添加关于其他表单元素不包含的项的描述和注释。用户输入了各种内容,有时包括字符,到目前为止,MSSQL 2008 r2数据库处理得很好 现在,我们已经将SSRS报告添加到应用程序中,一些用户发现,当报告运行时,特殊字符被用户称为garbledygook的内容替换,我可以通过它识别HTML实体代码。几个具体的例子: 与UI/DB中一样:。。。我们需要有研发评估 关于报告:。。。我们需要有研究与发展;D评估 在UI/DB中:我建议快速利用 关于报告:我建议迅

我们的UI有几个字段是自由文本框,通常供用户添加关于其他表单元素不包含的项的描述和注释。用户输入了各种内容,有时包括字符,到目前为止,MSSQL 2008 r2数据库处理得很好

现在,我们已经将SSRS报告添加到应用程序中,一些用户发现,当报告运行时,特殊字符被用户称为garbledygook的内容替换,我可以通过它识别HTML实体代码。几个具体的例子:

与UI/DB中一样:。。。我们需要有研发评估

关于报告:。。。我们需要有研究与发展;D评估

在UI/DB中:我建议快速利用

关于报告:我建议迅速利用

与UI/DB中一样:更新储蓄值。还修改了

在报告上:更新储蓄值。&x0D;也修改了

问题在于对某些用户的强调。初步迹象表明IE8是罪魁祸首之一,但并非所有IE8用户都看到了这一点,我们开发人员中没有人能够在我们的任何环境中复制它


所以有两个问题,原因是什么?还有,解决方案是什么?

您可以在报告中对其进行HTML解码。在“报告属性引用”选项卡上,必须添加程序集System.Web。然后可以使用以下表达式:

=System.Web.HttpUtility.HTMLDecode(Fields!MyField.Value)

这是一个老问题,但是您可以设置任何给定的文本框,通过修改此处的占位符设置将HTML解释为样式


这包括174英镑;字符代码和一些基本操作。

用户是否从其他应用程序(如Internet Explorer或Word)进行复制/粘贴?实际上,我应该说,首先,您应该检查HTML实体是否实际存储在SQL表中,很可能就是这样。在这种情况下,这不是一个真正的SSRS问题。@JC这是我检查的第一件事。如我在问题中所示,这些字符在DB中。它们仅在SSRS报告输出中更改为实体代码。您是否可以让用户交换工作站,并查看问题是否与他们的电脑相关?您是否有多个用户查看完全相同的报表运行,有些用户看到实体代码而其他用户看不到?我不是要详细说明这个问题,但是您是否通过SQL Management Studio直接检查数据库数据而不是通过应用程序UI来验证数据库数据?@JC:正如我上面给出的UI/DB版本一样,我实际上是指UI和DB。这些查询来自select comment from where id=type查询,以及通过web浏览器中的应用程序查看项目。