|
Кодировка в WinHttp.WinHttpRequest.5.1 | ☑ | ||
---|---|---|---|---|
0
Pandoch
23.07.13
✎
18:05
|
Всех приветствую! Проблема с декодированием сообщения с сервера. Проверяю в fiddler - ответ с сервера верный (русские слова - нормальные русские слова), через этот объект тот же самый ответ сервера (именно русские слова) декодирует в кракозябры. вот код. Помогите понять в чем дело и как наладить кодировку.
WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); WinHttp.Option(2,"utf-8"); WinHttp.Open("POST", URL,0); //WinHttp.SetRequestHeader("Accept-Language", "ru"); //WinHttp.SetRequestHeader("Accept-Charset","utf-8"); //WinHttp.setRequestHeader("Content-Language", "ru"); //WinHttp.setRequestHeader("Content-Charset", "utf-8"); //WinHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8"); WinHttp.Send(Текст); Ответ = РазобратьXML(WinHttp.ResponseText()); Запрос хранится в "Текст". Сам ответ хранится в WinHttp.ResponseText(). И там уже неверно декодировано. Пробовала совершенно разные комбинации параметров в setRequestHeader и WinHttp.Option(2,"utf-8"); (utf-8 или windows-1251) - и без них - не помогало. |
|||
1
Тьма
23.07.13
✎
18:19
|
Декодируй полученный текст
|
|||
2
Pandoch
23.07.13
✎
18:20
|
Не нашла подобной функции в 1с.
|
|||
3
Pandoch
23.07.13
✎
18:21
|
Каким образом можно декодировать?
|
|||
4
2mugik
23.07.13
✎
18:23
|
(0)янасколько знаю восьмерка только в Юникоде работает.
|
|||
5
Тьма
23.07.13
✎
18:26
|
(4)Ты неправильно знаешь.
(3)Записать с одно кодировкой, прочитать с другой. Например. |
|||
6
Тьма
23.07.13
✎
18:27
|
+(5)Если кодировка в заголовке ХМЛ-я и в текстовых полях ХМЛ-я отличается, то работать с ним можно только как с текстовым файлом.
|
|||
7
Serginio1
23.07.13
✎
18:29
|
||||
8
Jaap Vduul
23.07.13
✎
18:29
|
(3)
Получить ResponseBody вместо ResponseText, записать в файл, прочитать в нужной кодировке. |
|||
9
2mugik
23.07.13
✎
18:30
|
(6)Ну хз когда отправлял текст на сайт и просили в Виндоуз1251. Нифига не получалось. Хоть сохрани сначала в текст с нужной кодировкой хоть что. Передача из 1С все равно шла в юникоде. Выкрутились потоковой двоичной передачей.
|
|||
10
Pandoch
23.07.13
✎
18:30
|
в заголовке XML кодировка utf-8. но пробовала менять и на windows-1251. В обоих случаях неверная декодировка с сервера. Я так понимаю что-то с самим объектом встроенным, т.к. в фидлере на тот же самый запрос - приходит адекватный ответ.
|
|||
11
Serginio1
23.07.13
✎
18:30
|
(2) ЧтениеТекста
|
|||
12
2mugik
23.07.13
✎
18:35
|
(10)В какой кодировке сервер ответ посылает?
|
|||
13
Pandoch
23.07.13
✎
18:36
|
(12) - в utf-8
|
|||
14
Serginio1
23.07.13
✎
18:51
|
||||
15
Torquader
23.07.13
✎
21:08
|
В семёрке я делал перекодировку через объект MSScriptControl и код на VbScript, который может прочитать строку побайтово.
В восьмёрке можно попробовать получать код символа и по нему анализировать, что там будет (код символа возвращает сразу два байта). |
|||
16
sttt
23.07.13
✎
21:17
|
попробуй так:
ТекстОтвета = Новый ТекстовыйДокумент(); ТекстОтвета.Прочитать(ИмяФайлаОтвета, КодировкаТекста.UTF8); или смотри в СП по: КодировкаXML (XMLEncoding) Использование: Только чтение. Описание: Тип: Строка. Кодировка исходного документа XML Содержит значение атрибута encoding объявления XML. Если атрибут не указан или объявление не прочитано (отсутствует), то будет возвращена кодировка UTF-8. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение. Примечание: Поддерживаемые коды кодировок (с учетом правил http://www.w3.org/TR/2004/REC-xml-20040204/#NT-EncName): UTF-8 |
|||
17
Torquader
23.07.13
✎
22:56
|
Ещё есть объект ServerXmlHttpRequest - он более новый, и рекомендуется использовать вместо HttpRequest.
|
|||
18
Pandoch
24.07.13
✎
10:30
|
(16) - с файла считывает тоже самое, пробовала. кодировку XML задавала сама, при формировании текста запроса. Там дело не в ответе с сервера - с ним все с порядке, проверяла в фидлере. именно с объектом чтото, это он неверно перекодирует верный ответ с сервера
(17)- попробую использовать этот объект |
|||
19
Pandoch
24.07.13
✎
10:55
|
(17) - Спасибо ОГРОМНОЕ! С этим объектом заработало
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |