ОК, поэтому у меня есть # -*- coding: utf-8 -*-
в верхней части моего скрипта, и он работал для того, чтобы иметь возможность извлекать данные из базы данных, в которой были забавные символы (Ñ, Õ, é, -, -, ',…) и сохранить эти данные в переменные ... но я столкнулся с другими проблемами, вижу, я извлекаю свои данные, организую их, а затем сбрасываю в переменные, например:
title = product[1]
Где product[1]
из моей базы данных результатов
Затем я загружаю его на Suds примерно так:
array_of_inventory_item_submit = ca_client_inventory.factory.create('ArrayOfInventoryItemSubmit')
for product in products:
inventory_item_submit = ca_client_inventory.factory.create('InventoryItemSubmit')
inventory_item_list = get_item_list(product)
inventory_item_submit = [inventory_item_list]
array_of_inventory_item_submit.InventoryItemSubmit.append(inventory_item_submit)
#Call that service baby!
ca_client_inventory.service.SynchInventoryItemList(accountID, array_of_inventory_item_submit)
Где get_item_list
устанавливает product[1]
в заголовок и (включая целый ряд других узлов):
inventory_item_submit.Title = title
Так что все работает нормально, пока я не вызову ca_client_inventory.service.SynchInventoryItemList, который содержит array_of_inventory_item_submit
, который содержит заголовок со странным символом ... вот ошибка:
Traceback (most recent call last):
File "upload_all_inventory_ebay.py", line 421, in <module>
ca_client_inventory.service.SynchInventoryItemList(accountID, array_of_inventory_item_submit)
File "build/bdist.macosx-10.6-i386/egg/suds/client.py", line 539, in __call__
File "build/bdist.macosx-10.6-i386/egg/suds/client.py", line 592, in invoke
File "build/bdist.macosx-10.6-i386/egg/suds/bindings/binding.py", line 118, in get_message
File "build/bdist.macosx-10.6-i386/egg/suds/bindings/document.py", line 63, in bodycontent
File "build/bdist.macosx-10.6-i386/egg/suds/bindings/document.py", line 105, in mkparam
File "build/bdist.macosx-10.6-i386/egg/suds/bindings/binding.py", line 260, in mkparam
File "build/bdist.macosx-10.6-i386/egg/suds/mx/core.py", line 62, in process
File "build/bdist.macosx-10.6-i386/egg/suds/mx/core.py", line 75, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 102, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 243, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 182, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/core.py", line 75, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 102, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 298, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 182, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/core.py", line 75, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 102, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 298, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 182, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/core.py", line 75, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 102, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 243, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 182, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/core.py", line 75, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 102, in append
File "build/bdist.macosx-10.6-i386/egg/suds/mx/appender.py", line 198, in append
File "build/bdist.macosx-10.6-i386/egg/suds/sax/element.py", line 251, in setText
File "build/bdist.macosx-10.6-i386/egg/suds/sax/text.py", line 43, in __new__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 116: ordinal not in range(128)
И что теперь? Я предполагаю, что мой сценарий может принимать эти забавные символы, потому что у меня # -*- coding: utf-8 -*-
вверху, а у Suds нет этого в верхней части его файлов. Я действительно хочу пойти и изменить файлы Suds ... мы все знаем, что это наименее желаемое последнее возможное решение ... что я могу сделать?