1С + Yandex API + JSON с кириллицей = проблемы с кодировкой #708415


#0 by Котокот
Подсоединяюсь из 1С к API Яндекс-директа. Все проходит гладко и красиво: и кампании создаются, и объявления и фразы, но только до тех пор, пока в наименованиях объявлений или в тексте фраз не появляются кириллические символы. Подозреваю, что дело в том, что 1С генерит строку в UTF-8, а сервер понимает только windows-1251. Код: ССЛ = Новый ЗащищенноеСоединениеOpenSSL; Пробовал записывать файл запроса под разными кодировками - не помогает. Пробовал прописывать разные кодировки в заголовке HTTP-соединения - не помогает. Сервер либо дает отлуп "Неверный формат JSON", либо такое сообщение: Параметры запроса указаны неверно. Описание ошибки: In banner В тексте рекламного сообщения можно использовать только буквы латинского, английского, турецкого, казахского, русского или украинского алфавита, кавычки, знаки '-', '+', '!', пробел. Ошибка в ключевой фразе '�����-�������'. Код ошибки: 71 Кириллические символы он на своей стороне принимает за ромбы. Пробовал перекодировать строку запроса так и так: В отладчике видно, что кириллические символы заменяются на кракозябры, но и их сервер не ест, возвращает в сообщении об ошибке не ромбы, а "????????-??????". ЧЯДНТ? Как скормить яндексу JSON-запрос с кириллицей?
#1 by zva
Да должен utf-8 понимать
#2 by zva
просто когда 1с генерит файл в кодировке utf-8, она в начало файла ВОМ символы записывает, из-за чего сервер считает, что json в неверном формате. Можно так файл в кодировке utf-8 без BOM записать
#3 by Котокот
Уоу, сейчас попробуем!
#4 by XLife
#5 by Котокот
Заработало, спасибо!!!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С