Razor 无法正确呈现特殊字符
Razor not rendering special characters properly
我正在为我们的 CMS 动态生成 cshtml 文件并使用 UTF-8 作为编码。我还尝试使用 Notepad++ 打开这些文件,它说编码是 UTF-8。
我只是使用控制器的 View()
方法来提供页面:
return View(path);
但它仍然不正确地将特殊字符渲染为错误的字符。就像 'α' 变成 'α',或者单引号变成 'â'。检查时生成的文件包含正确的字符,但在提供时显示不正确的字符。
我找到了问题和解决方案。 cshtml文件应该不是简单的UTF8格式,而是UTF8-BOM文件格式。通过 return View(path);
.
提供服务时,非 BOM UTF8 cshtml 文件的特殊字符被转换为某些内容
我正在为我们的 CMS 动态生成 cshtml 文件并使用 UTF-8 作为编码。我还尝试使用 Notepad++ 打开这些文件,它说编码是 UTF-8。
我只是使用控制器的 View()
方法来提供页面:
return View(path);
但它仍然不正确地将特殊字符渲染为错误的字符。就像 'α' 变成 'α',或者单引号变成 'â'。检查时生成的文件包含正确的字符,但在提供时显示不正确的字符。
我找到了问题和解决方案。 cshtml文件应该不是简单的UTF8格式,而是UTF8-BOM文件格式。通过 return View(path);
.