奇怪的字符输出asp.net的MVC页(Strange characters output on a

2019-09-16 18:49发布

有时(随机地)我的asp.net MVC应用程序输出的页面,单个的字符被替换为怪异问号,使图像如图

这种行为是恒定的,直到数据变化,它不刷新页面消失。 整个页面是格鲁吉亚的Unicode。 我使用asp.net的MVC 3 Visual Studio 2010和IIS表达。 这是上发布现场还观察到IIS 7.5。 我已经看到了在asp.net web表单应用程序类似的问题了。

我观察到这种行为不仅对数据库提供的数据,但简单的锚,用HTML辅助生成

TagBuilder addAnchor = new TagBuilder("a");
addAnchor.AddCssClass("add-item");
addAnchor.MergeAttribute("href", "#");
addAnchor.SetInnerText(SharedResources.Add); //resource item contains string დამატება

其输出锚“დამატბა”

这是不是与浏览器端的页面渲染问题,因为原始响应已经包含这些符号。

更新:

因为它似乎,通过设置禁止缓冲器输出Response.BufferOutput = false; 从页面移除奇怪的字符。 但是我用磁带的参考束,它不能有残疾缓冲输出工作-没有scipts或样式得到页面上引用。

已经有人对你有类似的问题? 这对我来说确实至关重要,因为目前它会影响被损坏的是单个字符是一个多选试题的正确答案信息数据。

Answer 1:

我有同样的错误。 它是磁带与重写结果HTML内容(需要BufferOutput设置为true),如果需要引用的脚本和样式表标签移动到顶部的特征。 见在IsHtmlRewritingEnabled选项http://getcassette.net/documentation/configuration 。 当我关掉这个功能,这个bug已经消失了。

我的意见:

  1. 它只能与远程请求出现。 本地请求总是好的。
  2. 问号的位置始终是所有客户端,浏览器和计算机不变。
  3. 问题所在的位置仅在应用程序重新编译后,标志着变化。


Answer 2:

我会想象它与字符集做。 我有,当我试图显示一个字符,是不是在一个特定的字符集这个问题。

' or – (’ or –)以UTF-8当字符尚未HTML先前编码。



Answer 3:

我也曾经有过的输出是这样的。 在我的情况下错误的来源是查看/ web.config文件中。 一种组件,在页/命名空间中列出,这是不被引用的组件的一部分



文章来源: Strange characters output on asp.net mvc page