法语口音在asp.net MVC视图中没有正确显示

时间:2012-10-29 22:45:28

标签: c# asp.net-mvc entity-framework

我有一个ASP.Net MVC View接收强类型模型:

@model MyApp.Models.MyModel

显示此模型的属性值时,

例如:@Html.DisplayFor(model => model.myFrenchProperty)

法语字符在浏览器中无法正确显示。

例如,法语单词“Général”在浏览器中显示为“Général”。

我尝试使用@ Html.Raw(Model.myFrenchProperty),但没有任何改变。

我的模型是使用Entity Framework构建的,数据来自UTF-8编码的数据库。

知道如何正常使用吗?

4 个答案:

答案 0 :(得分:1)

您还需要确保使用UTF-8编码呈现页面。为此,您需要添加:

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

<meta charset="utf-8">(如果您使用的是HTML5)

<head>标记中。

答案 1 :(得分:1)

我正在使用带有Devart连接器的PostgreSQL数据库,问题是特定于此设置...我的问题解决了在连接字符串中添加Unicode = true ...似乎有一个UTF-8配置的数据库不是够...

艾蒂安

答案 2 :(得分:0)

之所以会发生这种情况,是因为在渲染网页时,默认情况下,Web浏览器会将字符显示为HTML编码。

为了使法语或拉丁语字符(如重音符号)正确显示,我们需要对所需的字符串进行解码。

HttpUtility.HtmlDecode(myFrenchProperty) 

应该做的工作。

答案 3 :(得分:0)

我试图显示“Déconnecter”,但它在HTML中显示为 document.querySelectorAll("button//contains(@class,'btn primary-button')")。将剃刀模型属性传递到jquery函数,然后将文本转换为HTML时出现问题。

对我来说,解决方案是将变量传递给以下内容:

“ @ Html.Raw(myVar)” “ @ Html.Raw(”Déconnecter“)”