Неправильные символы в ModelBinding - PullRequest
4 голосов
/ 09 ноября 2009

У меня проблема, я занимаюсь разработкой проекта asp.net mvc. Сайт на турецком языке. Когда я публикую этот сайт в IIS, турецкие персонажи сходят с ума на веб-страницах, поэтому я устанавливаю глобализацию в своем web.config как

<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».

Есть ли у вас какие-либо предложения по решению этой проблемы?

Ответы [ 2 ]

2 голосов
/ 09 ноября 2009

Я исправил проблему, что я сделал,

  1. Удалить следующий элемент из web.config, поэтому будет использоваться кодировка по умолчанию (UTF-8)

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

  2. Удалить подписчиков с моего сайта. Мастер

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

1 голос
/ 25 октября 2018

В значении web.config requestEncoding;

<globalization requestEncoding="utf-8" ...

должно соответствовать значению кодировки веб-страницы;

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

Но вы также можете выполнить другой процесс запроса, задав адрес страницы в настройке тега местоположения web.config Пример:

<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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...