我把<meta http-equiv="content-type" content="text/html; charset=utf-8" />
放在头部,DOCTYPE放在_Layout.cshtml
的顶部,但是当我查看网站时,特殊的土耳其字符显示为&amp;#23' 1;等来源,而不是在页面中。网页正确显示,源文件有问题..
你知道我还应该做些什么来纠正这个问题吗?
答案 0 :(得分:7)
尝试将源文件保存为带有 BOM的UTF-8 我遇到了类似的问题,似乎Razor希望文件具有BOM签名。
在Visual Studio中:FILE&gt;高级保存选项:
答案 1 :(得分:0)
我遇到了完全相同的问题,尝试了所有解决方案,但都无济于事,使用Notepad ++检查了.cshtml文件编码,这是正确的(带有BOM的utf8),带有编码的SaveAs文件(如上所示),但是问题仍然存在坚持。
最后,我发现我的剃须刀文件没有问题,似乎ASP.Net核心MVC并未将UTF-8编码设置为默认编码,并且如果开发人员需要则必须将其设置。
我在ConfigureServices
的{{1}}方法的末尾添加了以下代码(它将UTF-8编码添加到默认编码中)并解决了问题。
Program.cs