none
ASP.NET MVC 5 Некорректное отображение параметра с кириллицей в методе GET, при заходе по ссылке с другого сайта. RRS feed

  • Вопрос

  • Когда происходит переход на мой сайт, по внешней ссылке расположенной на другом ресурсе

    вида http://localhost:54366/Topics?SearchString=%E8%ED%E8%F6%E8%E0%EB%E8%E7%E0%F6%E8%FF

    параметр SearchString неверно декодируется как  �������������

    public async Task<ActionResult> Index(string currentFilter, string searchString, int? page )
    {
    
    }
    Когда выполняю тот же метод локально, с русскими символами, то все ОК

    http://localhost:54366/Topics?SearchString=инициализация

    Подскажите, пожалуйста, в чем может быть дело?


    • Изменено bmw111 21 августа 2014 г. 12:56 Уточнение фреймворка
    21 августа 2014 г. 12:54

Все ответы

  • Не часто приходится работать с кирилицей, но тут дело скорее всегов кодировках. Пользователь приходит со страницы с WIN-1251, а тут юникод. Попробуйте так:

    HttpUtility.UrlDecode(Request.QueryString["SearchString"], Encoding.Default) 


    Сделаем содержимое сообщества лучше, вместе!

    21 августа 2014 г. 14:55
    Модератор
  • Нет, тоже самое. 

    Вообще, как то странно, разве ASP.NET не должен автоматически распознавать encoded url?

    21 августа 2014 г. 16:51