使用RenderBody()的UTF-8中的特殊字符

时间:2016-04-14 15:31:02

标签: asp.net-core-mvc

我正在使用波兰语字母在ASP.NET MVC6中开发网站。我在_Layout.cshtml中编写它们时工作得很好,但我也使用RenderBody()来渲染视图。

在视图中使用Html.DisplayFor(modelItem => item.ID),正确显示波兰语字符,但是当我使用普通html并写一些内容时,我在网站上看到的只是“?”代替所有使用过的波兰语字母。

在_layout.cshtml中我有一个声明:

<meta charset="utf-8" />

在web.config中我有:

<?xml version="1.0" encoding="utf-8"?>

2 个答案:

答案 0 :(得分:4)

我检查了UTF-8的全局解决方案设置,但我没有检查单个文件编码设置,因此在解决方案资源管理器中,您必须单击.cshtml文件,然后:

  

file-&gt;高级安全选项 - &gt; Unicode(带签名的UTF-8)-Codepage 65001

现在可行。

答案 1 :(得分:4)

我对asp.net core即MVC6,visual studio 2017也有同样的问题。像appear似的Es和像ViewBag.Equals(“â”)这样的客户端验证等特殊字符无法正常工作。

所以我将使用notepad ++的视图文件(.cshtml)编码从ANSI更改为UTF-8。

enter image description here