asp.net中的charset utf-8特殊的土耳其人物

Hal*_*alo 2 asp.net utf-8 character-encoding razor

我放在<meta http-equiv="content-type" content="text/html; charset=utf-8" />头上,DOCTYPE在我的顶部_Layout.cshtml,但是当我正在查看网站时,特殊的土耳其字符显示为'1; 等在源中,而不是在页面中.网页正确显示它们,源文件有问题..你知道我还应该做些什么来纠正这个问题吗?

Cod*_*orm 10

我遇到了完全相同的问题,尝试了所有解决方案,但没有一个有效,用 Notepad++ 检查了 .cshtml 文件编码,它是正确的(带有 BOM 的 utf8),用编码另存为文件(如上所示),但问题仍然存在。

最后我发现我的razor文件没有任何问题,似乎ASP.Net core MVC没有将UTF-8编码设置为默认编码,如果开发人员需要,必须设置它。

ConfigureServices我在方法末尾添加了以下代码Program.cs(它将 UTF-8 编码添加到默认编码中),问题得到解决。

services.AddWebEncoders(o => {
            o.TextEncoderSettings = new System.Text.Encodings.Web.TextEncoderSettings(UnicodeRanges.All);
        });
Run Code Online (Sandbox Code Playgroud)


Ren*_*uis 7

尝试将源文件保存为带有 BOM的UTF-8 .
我遇到了类似的问题,似乎Razor希望文件具有BOM签名.

在Visual Studio中:FILE>高级保存选项:

高级保存选项对话框