RenderPage()with umlaut

时间:2012-10-17 06:57:07

标签: c# webmatrix diacritics

我正在使用WebMatrix C#(Razor)开发网页。我有一个包含布局和所有内容的_SiteLayout.cshtml,一个带有起始页面内容的index.cshtml和一组带有附加信息的.cshtml文件。这些文件使用RenderPage(“x.cshtml”)呈现到index.cshtml文件中。

现在这些文件包含,因为我来自瑞士,“Umlaute”像ö,ä,ü。在index.cshtml文件中编写Umlaute没有问题,但子文件中的文件未正确呈现。它们显示为Ã(ü)。使用html变音符号(ü)重写子文件将是一项巨大的努力,它们很大并且经常被人类改变,不愿意转换每个变音符号。

我认为html语言设置存在问题,但我不确定。在_SiteLayout.cshtml中我指定了<html lang="de">,但不知何故它不适用于子文件。

非常感谢您的帮助

2 个答案:

答案 0 :(得分:1)

Grüezi! 我不熟悉Razor,但它似乎是一个编码问题。我更喜欢使用Unicode,因为它涵盖了从Schwitzerdütsch到Suaheli的所有语言。 Here,我发现了这一行:

<meta charset="utf-8" />

也许有帮助。

答案 1 :(得分:1)

我解决了这个问题。将语言规范添加到web.config文件很有帮助。我将以下内容添加到system.web部分:

<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" culture="de" uiCulture="de"/>

感谢Peter Stock带领我朝着正确的方向前进。