ModelBinding 中的字符不正确

Yuc*_*cel 5 asp.net-mvc turkish character-encoding

我有一个问题,我正在开发一个 ASP.NET MVC 项目。网站为土耳其语。当我将此网站发布到 IIS 时,土耳其语字符在网页中变得疯狂,因此我在 web.config 中将全球化设置为

\n\n
<globalization fileEncoding="iso-8859-9" requestEncoding="iso-8859-9" responseEncoding="iso-8859-9"/>\n
Run Code Online (Sandbox Code Playgroud)\n\n

此后土耳其语字符显示正确。

\n\n

但现在我遇到了另一个问题,当我在输入文本中输入土耳其语文本,然后发布到我的控制器操作时,土耳其语字符再次变得疯狂。

\n\n

我正确跟踪了http消息土耳其语文本POST\nex:如果我输入“Y\xc3\xbccel”(\xc3\xbc是土耳其语字符)进行输入,我查看HttpAnalyzer我可以看到发布数据是“Y\xc3\ xbccel”。当我查看 MVC 自动绑定的操作参数属性时,我看到“Y\xc3\x83\xc2\xbccel”。

\n\n

您有什么建议来解决这个问题吗?

\n

Yuc*_*cel 2

我解决了问题,我所做的是,

  1. 删除以下元素,以便web.config使用默认编码 (UTF-8)

    <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>

  2. 从我的 Site.Master 中删除以下内容

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9"/>