我正在使用Umbraco CMS开发多语言网站。在测试IE9时,我发现了几个强制IE9关闭的页面(只有IE9的某些版本或版本)。我把它缩小到重音字符。但是,工作的页面也有重音字符。为了弄清楚区别是什么,我将有问题的文本从工作页面和非工作页面复制到记事本中。我无法从记事本中添加截图b / c我是新的,所以我将不得不描述它:
第一个单词'í'崩溃了IE9。 'í'字符看起来不正确;没有字距,它更小,只是看起来它不是作为字体的一部分呈现。带有'í'的第二个单词不会导致IE9崩溃。它作为字体的一部分正确呈现。我输入(alt / option + e)+ i。
得到相同的正确字符如果有这个差异的术语我很抱歉,但是我很难在不知道要搜索什么的情况下搜索这样一个特定的问题。将数据添加到站点的编辑器从多个源复制内容,因此我假设这是问题的根源,但我想控制它并防止它再次发生。我可以在输入上验证这种问题吗?这两个字符之间有什么技术差异?
更多信息
IE9版本:9.0.8112.16421 更新版本:9.0.15(KB2817183)
我做了更多的挖掘,我发现在这个ASCII转换器中粘贴坏字符'í'时:http://slayeroffice.com/tools/ascii/它返回的ASCII值为105(与字母'i'相同。当我在转换器中粘贴正确的字符'í'时,我得到一个237的ASCII值。
我也找到了问题的根源。坏人物来自pdf。当编辑器从特定的pdf复制并将其粘贴到CMS中时,我会得到错误的字符。到目前为止,任何带有重音符号的角色都会破坏我的IE9版本。
以下是用于在网站前端显示内容的代码段。我正在使用Umbraco CMS版本6.1,Microsoft ASP.NET MVC,我的观点是.cshtml:
@{
XmlDocument xd = new XmlDocument();
xd.LoadXml(Model);
}
@foreach(XmlNode widget in xd.SelectNodes("//widget")){
<h4>@widget.SelectSingleNode("title").InnerText</h4>
}
重申一下,有没有办法'保护'或验证这些类型的角色问题?我假设没有,因为ASCII转换器将坏字符识别为'i',但我担心编辑器添加信息可能会添加一个坏字符,除非他们碰巧在IE9中看到该网站,否则没有人会知道...
谢谢!