4

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

@model MyApp.Models.MyModel

显示此模型的属性值时,

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

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

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

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

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

知道如何使它正常工作吗?

4

4 回答 4

2

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

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

或者

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

在你的<head>标签中。

于 2012-10-29T22:52:21.903 回答
1

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

艾蒂安

于 2012-10-30T20:32:11.633 回答
1

我试图显示“Déconnecter”,但它在 HTML 中显示为 "D&#233;connecter". 将 razor 模型属性传递到 jquery 函数然后将文本转换为 HTML 时,会出现此问题。

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

"@Html.Raw(myVar)" "@Html.Raw("Déconnecter")"

于 2020-11-03T09:32:11.367 回答
0

发生这种情况是因为当网页呈现时,Web 浏览器默认将字符显示为 HTML 编码。

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

HttpUtility.HtmlDecode(myFrenchProperty) 

应该做的工作。

于 2020-06-17T21:17:50.850 回答