Я пытаюсь работать с УЖАСНЫМИ веб-сервисами в Commission Junction (CJ). Я могу заставить клиента подключиться и получать информацию от CJ, но их база данных, кажется, содержит кучу плохих символов, вызывающих UnicideDecodeError.
Прямо сейчас я делаю:
from suds.client import Client
wsdlLink = 'https://link-search.api.cj.com/wsdl/version2/linkSearchServiceV2.wsdl'
client = Client(wsdlLink)
result = client.service.searchLinks(developerKey='XXX', websiteId='XXX', promotionType='coupon')
Это работает нормально, пока я не назову рекорд, в котором есть что-то вроде «CorpNet® 10% Off Any Service», затем ® вызывает его поломку, и я получаю
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 758: ordinal not in range(128)" error.
Есть ли способ чтобы закодировать ® на моем конце, чтобы он не прерывался при чтении SUDS в результате?
ОБНОВЛЕНИЕ : Чтобы уточнить, знак ® исходит из базы данных CJ и находится в их ответе. ТАК как-то мне нужно декодировать символы, отличные от ascii, ДО того, как SUDS обработает ответ. Я не уверен, как (и если) это делается в SUD.