首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ModelBinding处的字符不正确

ModelBinding处的字符不正确
EN

Stack Overflow用户
提问于 2009-11-09 19:52:24
回答 2查看 1.6K关注 0票数 4

我有一个问题,我正在开发一个asp.net mvc项目。网站使用土耳其语。当我将这个网站发布到IIS时,土耳其字符在网页中变得疯狂,所以我在web.config中将全球化设置为

代码语言:javascript
复制
<globalization fileEncoding="iso-8859-9" requestEncoding="iso-8859-9" responseEncoding="iso-8859-9"/>

在此之后,土耳其字符显示正确。

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

我正确地跟踪了http消息土耳其文本POST :如果我输入"Yücel“(ü是土耳其字符)来输入,我查看HttpAnalyzer,我可以看到Post Data是"Yücel”。当我查看由MVC自动绑定的操作参数的属性时,我看到“Y?cel”。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-09 23:49:51

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

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

来自我的Site.Master的<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>

  • Delete关注

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

票数 2
EN

Stack Overflow用户

发布于 2018-10-25 16:50:21

在web.config requestEncoding值中;

代码语言:javascript
复制
<globalization requestEncoding="utf-8" ...

必须与网页中的字符集数值相同;

代码语言:javascript
复制
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

但您也可以通过web.config位置标签设置中的页面地址设置来进行其他请求编码过程。示例:

代码语言:javascript
复制
<configuration>
...
<location path="path/to/your/actionmethod">
    <system.web>
        <globalization requestEncoding="ISO-8859-9" responseEncoding="ISO-8859-9" />
    </system.web>
</location>
...
</configuration>

http://www.siimviikman.com/2012/06/12/action-based-request-encoding-in-asp-net-mvc/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1700544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档