2012-07-17 70 views
4

»角色似乎在剃刀视图中呈现为»。我曾尝试剃刀视图»字符呈现为»

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

@Html.Raw() 

但问题不会消失。我没有ASPX视图的这个问题。

另外,作为

<globalization uiCulture="en" culture="en-US" /> 
+0

检查您的浏览器认为它是在UTF-8,而且.cshtml文件是UTF-8保存在签名(编码文件/高级保存选项...)。 – Codo 2012-07-17 05:46:49

+0

Yup firefox pageinfo说utf-8编码。但用UTF-8签名解决了问题。最初保存为无签名的UTF-8。谢谢。顺便说一句,你如何检查浏览器是否认为它是UTF-8? – sean 2012-07-17 06:05:09

+0

在Firefox中,它是页面信息。在IE中,页面上的上下文菜单具有编码子菜单。 – Codo 2012-07-17 07:27:20

回答

8

我怀疑你.cshtml视图/包含该字符的部分不保存与UTF-8编码的签名培养被设置。对_Layout也进行相同的验证。在VS使用Save As with encoding dialog

enter image description here

还要确保你已经把»字符作为,是在你的看法。不是来自字符串,XML或数据库。如果它来自其他地方,请确保它在阅读时不被破坏。如果是这种情况,请显示检索您尝试在视图中输出的字符串的代码。

你的meta标签最后一句话:如果你使用的是HTML5应用:

<meta charset="utf-8" /> 
+0

你知道为什么这个问题在ASPX视图中不存在吗? – sean 2012-07-17 06:17:09

+0

这个问题在Razor中都不存在。有人必须搞砸你的文件的编码。外部文本编辑器或其他东西,只是简单地改变了编码。 – 2012-07-17 06:17:53

+2

是的,你是对的。在使用工具将其转换为MVC3之前,只检查了该文件的旧版本,并使用带有BOM的UTF-8。 – sean 2012-07-17 06:20:59