打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python unicode解码错误SUD

好的,所以我有# – * – coding:utf-8 – * – 在我的脚本的顶部,它能够从具有有趣字符的数据库中提取数据(Ñ,Õ,é, – , – ,’ ,…)在其中并将数据存储到变量中…但我遇到了其他问题,请参阅我的数据,组织它,然后将其转储到变量中,如下所示:

title = product[1]

产品[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]设置为title和(包括一大堆其他节点):

inventory_item_submit.Title = title

所以一切运行正常,直到我调用包含array_of_inventory_item_submit的ca_client_inventory.service.SynchInventoryItemList,其中包含标题w / funky char …这里是错误:

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)

怎么办?我的猜测是我的脚本可以接受这些时髦的字符,因为我有# – * – 编码:utf-8 – * – 在顶部但是Suds没有在它的文件顶部.我是否真的想去改变Suds文件…我们都知道这是最不可取的最后可能的解决方案……我该怎么办?

解决方法:

# – * – coding:xxx – * – 与此错误无关,它仅适用于声明它的源文件的编码,而不适用于来自数据库的变量的内容.

您的错误表明您尝试将包含非ASCII字符的str类型对象传递给unicode()构造函数(在line 43 of suds/sax/text.py处调用).

您必须将来自数据库的字符串转换为unicode对象;例如,如果您的数据库是以UTF-8编码的:

title = product[1].decode("UTF-8")

有关详细信息,请参阅str.decode()文档.

来源:https://www.icode9.com/content-1-343001.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Python安装lz4-0.10.1遇到的坑
python整理二十七
python的setup.py文件及其常用命令
python setup.py install 常用命令参数详解
Python 包管理工具解惑
制作python模块安装包(转)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服