我有一个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编码的数据库。
知道如何正常使用吗?
答案 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“)”