Проблема амперсанда в функции ЗапросHTTP.УстановитьТелоИзСтроки()

1. hspeed79 94 06.04.17 11:52 Сейчас в теме
Подскажите плиз, кто решал проблему. Сроки горят, нет времени долго искать

Суть проблемы вот в чем. Имеем кусок кода

Данные = Данные + "fields[NAME]=" + Стр.Ссылка.Наименование + "&";
Данные = Данные + "fields[DESCRIPTION]=" + Стр.Ссылка.НаименованиеПолное + "&";

ЗапросHTTP.УстановитьТелоИзСтроки(Данные);

Если в наименовании попадается вдруг амперсанд (&) то при выполнении метода УстановитьТелоИзСтроки наименование разбивается по символу амперсанда, как будто это отдельное поле запроса

Пробовал делать так:

СтрЗаменить(Стр,"&","\u0026");

или так

СтрЗаменить(Стр,"&","%26");

Проблема обрезания наименования конечно уходит, но на сайте в наменовании не амперсанд, а соответственно \u0026 или %26
+
Найденные решения
2. v3rter 06.04.17 12:33 Сейчас в теме
Получается, что проблема на серверной стороне, так как сервер не делает над наименованием преобразование типа urldecode. То есть исправлять на серверной стороне. Есть еще ﹠ U+FE60, & # 65120; SMALL AMPERSAND и & U+FF06, & # 65286; FULLWIDTH AMPERSAND, если конечно, получится их передать.Ну или СтрЗаменить(Стр,"&"," And ");
hspeed79; +1
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. v3rter 06.04.17 12:33 Сейчас в теме
Получается, что проблема на серверной стороне, так как сервер не делает над наименованием преобразование типа urldecode. То есть исправлять на серверной стороне. Есть еще ﹠ U+FE60, & # 65120; SMALL AMPERSAND и & U+FF06, & # 65286; FULLWIDTH AMPERSAND, если конечно, получится их передать.Ну или СтрЗаменить(Стр,"&"," And ");
hspeed79; +1
3. hspeed79 94 06.04.17 12:53 Сейчас в теме
(2) ну да, как вариант надо попробовать амперсанд другого вида, к серверу нет у меня доступа, там Битрикс24 и мне там править ничего не дадут
+
4. v3rter 06.04.17 12:59 Сейчас в теме
А что говорит техподдержка Битрикса24? Наверняка это какая-то общая проблема.
+
5. hspeed79 94 06.04.17 13:02 Сейчас в теме
от них ответа ждать 2 дня, даже не писал им
вообще я отправляю методом POST, вряд ли при отправке через POST они используют urldecode для полей запроса
методом GET REST API Битрикса мне не дает отправлять для данной команды
+
6. hspeed79 94 06.04.17 13:17 Сейчас в теме
С большим амперсандом сработало, может это и не лучшее решение проблемы, но хоть как-то
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот