Mvc Razor正常渲染奇怪的人物

时间:2018-04-11 11:00:45

标签: html model-view-controller character

我有一个简单的剃​​刀视图,似乎在渲染带有趣人物的角色。

没有涉及javascript或动态字符串生成。这是一个简单的html,以下列为例:

请注意在线办理登机手续

但是,在浏览器上查看时,显示如下:

“请注意在线检查”可用“

在本地调试时,只有在服务器上发布一次才会发生这种情况。

示例html:

<div class="row">
    <div class="col-md-12 ociTxt">
        Please note online check‐in is available
    </div>
</div>

类“ociTxt”如下:

.ociTxt {
color: red;
font-size: 13px;
margin-top: 15px;

}

这是浏览器显示的内容:

截图:

screenshot

如果可能有效,请协助或向我提供可能的原因,例如语言环境等。

非常感谢

1 个答案:

答案 0 :(得分:0)

k i 之间的字符不是普通的连字符(ascii 0x2D,字符Unicode称为连字符 - 减号)。

该字符实际上是Unicode代码点U + 2010,Unicode调用连字符

您应该可以使用&#8208;以html格式显示它。是否每个浏览器都能正确呈现它是另一回事。

或者只是编辑它并使用普通的ascii字符。

这就是我达到诊断的方式。我剪了这一行

Please note online check‐in is available

在您的问题中的示例html中,并将其粘贴到Python 3.5控制台中,如下所示:

>>> a="Please note online check‐in is available"
>>> a
'Please note online check‐in is available'

然后我检查整行是否为ascii:

>>> a.encode("utf-8")
b'Please note online check\xe2\x80\x90in is available'

事实并非如此。所以我通过找出k的位置来确定相关角色的位置:

>>> a.index("k")
23

然后我检索了字符24的代码点。

>>> a[24]
'‐'
>>> ord(a[24])
8208

另一件值得注意的事情是两个连字符看起来不一样。我担心我必须将此作为屏幕截图显示,因为SO使用的字体不会显示差异。第一行是从你的问题中粘贴的,第二行是在我用ascii连字符替换了有问题的字符后。

Screenshot from PythonAnywhere console showing different hyphens.

关于它如何在两周前工作,或者为什么它只是这个特定的连字符而不是其他连字符:这不是你应该问我的问题。查看源代码管理系统中的答案。