Отправляю http-get запрос с мобильного устройства. В заголовках указываю параметр, в нем содержатся кирилические символы. При чтении на стороне сервера 1С читается полная несуразица.
Пример:
Заголовки.Вставить("AutoNum", "А 111 АА");
Сервер читает как "Рђ 111 РђРђ"
Интуиция подсказывает что дело в кодировке. Скорее всего сервер читает UTF-8 как windows-1251.
Внимание вопрос. Как заставить сервер читать заголовки в кодировке UTF-8???
Пример:
Заголовки.Вставить("AutoNum", "А 111 АА");
Сервер читает как "Рђ 111 РђРђ"
Интуиция подсказывает что дело в кодировке. Скорее всего сервер читает UTF-8 как windows-1251.
Внимание вопрос. Как заставить сервер читать заголовки в кодировке UTF-8???
По теме из базы знаний
- .Net в 1С. Асинхронные HTTP запросы, отправка Post нескольких файлов multipart/form-data, сжатие трафика с использованием gzip, deflate, удобный парсинг сайтов и т.д.
- Отправка HTTP запроса в УТМ ЕГАИС. Код функции + обработка.
- Отправка HTTP запроса из 1С на сайт.
- Коннектор: удобный HTTP-клиент для 1С:Предприятие 8
- Глоссарий HTTP аутентификации: Basic, Bearer, OAuth и другие непонятные слова
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
попробуйте добавить что-то то типа:
Response = New HTTPServiceResponse(200);
Response.Headers.Insert("Content-Type","text/html; charset=utf-8");
IndexPageText = WebPages.GetAuthPage();
Response.SetBodyFromString(IndexPageText);
Return Response;
(10)
Глобальный контекст (Global context)
КодироватьСтроку (EncodeString)
Синтаксис:
КодироватьСтроку(<Строка>, <СпособКодированияСтроки>, <КодировкаСтроки>)
Параметры:
<Строка> (обязательный)
Тип: Строка.
Кодируемая строка.
<СпособКодированияСтроки> (обязательный)
Тип: СпособКодированияСтроки.
Способ кодирования строки.
<КодировкаСтроки> (необязательный)
Тип: Строка.
Кодировка, в которую преобразуется строка перед кодированием.
Значение по умолчанию: UTF8.
Возвращаемое значение:
Тип: Строка.
Описание:
Кодирует строку в соответствии с выбранным способом кодирования.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:
См. также:
СпособКодированияСтроки
Глобальный контекст, метод РаскодироватьСтроку
--------------------------------------------------------------------------------
Методическая информация
Глобальный контекст (Global context)
КодироватьСтроку (EncodeString)
Синтаксис:
КодироватьСтроку(<Строка>, <СпособКодированияСтроки>, <КодировкаСтроки>)
Параметры:
<Строка> (обязательный)
Тип: Строка.
Кодируемая строка.
<СпособКодированияСтроки> (обязательный)
Тип: СпособКодированияСтроки.
Способ кодирования строки.
<КодировкаСтроки> (необязательный)
Тип: Строка.
Кодировка, в которую преобразуется строка перед кодированием.
Значение по умолчанию: UTF8.
Возвращаемое значение:
Тип: Строка.
Описание:
Кодирует строку в соответствии с выбранным способом кодирования.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:
Стр1 = КодироватьСтроку("http://tools.ietf.org/папка/rfc2822",
СпособКодированияСтроки.КодировкаURL);
Стр2 = КодироватьСтроку("http://tools.ietf.org/папка/rfc2822",
СпособКодированияСтроки.URLВКодировкеURL);
Стр3 = РаскодироватьСтроку(
"http://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%80",
СпособКодированияСтроки.КодировкаURL);
Сообщить(Стр1);
Сообщить(РаскодироватьСтроку(Стр1,
СпособКодированияСтроки.КодировкаURL));
Сообщить(Стр2);
Сообщить(РаскодироватьСтроку(Стр2,
СпособКодированияСтроки.КодировкаURL));
Сообщить(Стр3);
Сообщить(КодироватьСтроку(Стр3,
СпособКодированияСтроки.URLВКодировкеURL));
ПоказатьСм. также:
СпособКодированияСтроки
Глобальный контекст, метод РаскодироватьСтроку
--------------------------------------------------------------------------------
Методическая информация
(11) Ну от. Это уже есть с 8.3.9.1818. "Данная функциональность не поддерживалась на мобильной платформе."
Источник:http://downloads.v8.1c.ru/content//Platform/8_3_9_1818/1cv8upd.htm#514aa822-a592-11e2-adcc-e61f135f174b
upd: А какая платформа у ТС неясно ;)
Источник:
upd: А какая платформа у ТС неясно ;)
Если папка в которую пытаемся загрузить товар на русском, то выдает ошибку. Замените в ЗагрузитьФайл фрагмент
на
Заголовки.Вставить("Dropbox-API-Arg", "{""path"": """ + Элементы.Файлы.ТекущиеДанные.Файл + "/" + ОбщийКлиент.КодироватьВUnicode(Ф.Имя, Истина, Истина) + """, ""mode"": ""overwrite"", ""autorename"": false, ""mute"": true}");
на
Заголовки.Вставить("Dropbox-API-Arg", "{""path"": """ + ОбщийКлиент.КодироватьВUnicode(Элементы.Файлы.ТекущиеДанные.Файл, Истина, Истина) + "/" + ОбщийКлиент.КодироватьВUnicode(Ф.Имя, Истина, Истина) + """, ""mode"": ""overwrite"", ""autorename"": false, ""mute"": true}");
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот