有时(随机)我的 asp.net mvc 应用程序输出页面,其中单个字符被替换为奇怪的问号,如图所示
在数据更改之前,此行为是恒定的,并且不会随着页面刷新而消失。整个页面使用格鲁吉亚语 unicode。我正在将 asp.net mvc 3 与 Visual Studio 2010 和 iis express 一起使用。这也在 IIS 7.5 的已发布站点上观察到。我在 asp.net webforms 应用程序中也看到了类似的问题。
我不仅在 db 提供的数据上观察到这种行为,而且在使用 html 助手生成的简单锚点上也观察到了这种行为
TagBuilder addAnchor = new TagBuilder("a");
addAnchor.AddCssClass("add-item");
addAnchor.MergeAttribute("href", "#");
addAnchor.SetInnerText(SharedResources.Add); //resource item contains string დამატება
哪个输出锚“დამატ���ბა”
这不是浏览器端页面渲染的问题,因为原始响应已经包含这些符号。
更新:
看起来,通过设置禁用缓冲区输出Response.BufferOutput = false;
会从页面中删除奇怪的字符。但是我使用Cassette来引用捆绑包,它不能与禁用的缓冲区输出一起使用 - 页面上没有引用任何 scipts 或样式表。
你们有没有人遇到过类似的问题?这对我来说实际上很重要,因为目前它会影响单个字符被损坏的数据是多选测试问题的正确答案信息。