C# 法语口音在asp.net MVC视图中显示不正确

C# 法语口音在asp.net MVC视图中显示不正确,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我有一个接收强类型模型的ASP.Net MVC视图: @model MyApp.Models.MyModel 显示此模型的属性值时 例如:@Html.DisplayFor(model=>model.myFrenchProperty) 浏览器中无法正确显示法语字符 例如,法语单词“Général”在浏览器中显示为“Général” 我尝试过使用@Html.Raw(Model.myFrenchProperty),但没有任何改变 我的模型是用实体框架构建的,数据来自UTF-8编码的数据库 您知道如

我有一个接收强类型模型的ASP.Net MVC视图:

@model MyApp.Models.MyModel

显示此模型的属性值时

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

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

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

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

我的模型是用实体框架构建的,数据来自UTF-8编码的数据库


您知道如何使其正常工作吗?

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

(如果您使用的是HTML5)


在您的
标记中。

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


Etienne

之所以会出现这种情况,是因为当网页呈现时,默认情况下,web浏览器会将字符显示为HTML编码的字符

为了正确显示任何类似法语或拉丁语字符的重音,我们需要解码所需的字符串

HttpUtility.HtmlDecode(myFrenchProperty) 
应该做这项工作。

我试图显示“Déconnecter”,但它在HTML中显示为
“Dé;连接器”
。当将razor模型属性传递到jquery函数中,然后将文本转换为HTML时,问题就出现了

我的解决方案是将变量传递到以下内容:

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

指定我的视图实际上是一个局部视图可能很重要。我尝试了这两个建议,但没有任何改变。。。当您调试代码时,重音符号仍然没有正确显示-就在您从数据库获取数据之后,您能看到正确的字符吗?来自数据库的数据实际上已经不正确了。。。在连接字符串中设置Unicode=true可以解决此问题。谢谢