powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / jquery ajax и windows-1251
13 сообщений из 13, страница 1 из 1
jquery ajax и windows-1251
    #37791296
zolitude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую, многоуважаемые!
Возникла проблема с кодировкой.
Для передачи данных вебсервису использую jquery ajax,
у FF проблем нет, а вот с IE мучаюсь второй день.
Согласно постановки задачи, везде должна использоваться кодировка windows-1251.
Как заставить в IE отдавать данные вебсервису в win-1251?
Вот код:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    var $company = $("#company-name").val();
    var $code = $("#company-code").val();
    var $type = $("#code-type").val();
    var $address = $("#company-address").val();

    res = $.ajax({ 
      url: "/webservices/ajax.asmx/Search...", 
      type: "post", 
      data: ({ company:$company, code:$code, type:$type, juraddress:$address }),
      cache: false,
      async: false,
      beforeSend: function ( xhr ) {
        xhr.overrideMimeType("text/plain; charset=windows-1251"); //это не помогает (
      }
    }).responseText + '';
    alert(res);
  }
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791306
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zolitude,

попробуй указать указать кодировку запроса
Request.ContentEncoding = System.Text.Encoding.UTF8;
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791352
zolitude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, Яростный Меч,

насколько я понял это нужно в методе веб-сервиса прописать... не помогло (

ни так
HttpContext.Current.Request.ContentEncoding = System.Text.Encoding.UTF8;
ни так
HttpContext.Current.Request.ContentEncoding = System.Text.Encoding.GetEncoding(1251);
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791356
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
zolitudeКак заставить в IE отдавать данные вебсервису в win-1251?
Никак. http://habrahabr.ru/post/17640/
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791392
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zolitudeне помогловидимо, веб-сервис сначала берет значения параметров, а потом ты прописываешь кодировку.
мне помогало в хендлере (.ashx), там сначала кодировка указывается, а потом уже всякие Request["param_name"]..

попробуй вручную преобразовывать кодировку строк, через тот же System.Text.Encoding
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791410
zolitude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Яростный Мечzolitudeне помогловидимо, веб-сервис сначала берет значения параметров, а потом ты прописываешь кодировку.
мне помогало в хендлере (.ashx), там сначала кодировка указывается, а потом уже всякие Request["param_name"]..

попробуй вручную преобразовывать кодировку строк, через тот же System.Text.Encoding

А можно примерчик или ссылочкой?
Заранее благодарен! )
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791428
zolitude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался, всем большое спасибо!
Наиболее удобный вариант из вышеперчисленных считаю таков:

1. на клиенте отправляем данные обработанные методом стандартной функции escape()
2. на сервере принимаем данные используя Server.UrlDecode()

и все везде работает )
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791457
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zolitudeescape()тоже вариант, только она плюсики не переделывает, а сервер считает их пробелами.
можно разбить строку по плюсикам, заэскейпить каждую часть, и склеить через '%2B'
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791481
zolitude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Яростный Мечzolitudeescape()тоже вариант, только она плюсики не переделывает, а сервер считает их пробелами.
можно разбить строку по плюсикам, заэскейпить каждую часть, и склеить через '%2B'

ого )
а просто replace('+', '%2b') не прокатит?
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791484
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zolitudeЯростный Мечпропущено...
тоже вариант, только она плюсики не переделывает, а сервер считает их пробелами.
можно разбить строку по плюсикам, заэскейпить каждую часть, и склеить через '%2B'

ого )
а просто replace('+', '%2b') не прокатит?а вообще можно )
после escape, разумеется.
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791528
zolitude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Яростный Меч,

снимаю шляпу! )
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37791536
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zolitudereplace('+', '%2b')да, чуть не забыл
Код: javascript
1.
replace(/\+/g, '%2b')

чтобы все плюсы заменились
...
Рейтинг: 0 / 0
jquery ajax и windows-1251
    #37792049
Фотография timda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
web config не работает ?

шо в этом разделе конфига веб-сервиса?

<globalization
fileEncoding="UTF-8"
requestEncoding="UTF-8"
responseEncoding="UTF-8"
culture="ru-RU"
uiCulture="ru-RU"/>
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / jquery ajax и windows-1251
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]