我们将前端和后端工作分开.前端使用大量编辑器进行编辑CSHTML
,其中大部分都UTF-8
没有字节顺序标记.问题是,Razor预计BOM
会出现这种情况.如果它不存在,它将使用当前代码页读取文件,我们得到编码问题.
如何让Razor接受UTF-8
没有的文件BOM
?显然唯一的解决方案是实现自己的VirtualPathProvider
,因此也是VirtualFile
.不幸的是,目前使用的VirtualPathProvider
是MapPathBasedVirtualPathProvider
内部类.所以我必须重新创建很多功能.
以下如何强制ASP.NET MVC将.cshtml文件读取为UTF-8?,尝试添加此Web.config
:
<system.web> <globalization fileEncoding="utf-8" /> </system.web>