Python unicode解码错误SUD
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python unicode解码错误SUD,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4150字,纯文字阅读大概需要6分钟。
内容图文
![Python unicode解码错误SUD](/upload/InfoBanner/zyjiaocheng/754/45a1d7c6afad46a3918962a0651173ec.jpg)
好的,所以我有# – * – 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()文档.
内容总结
以上是互联网集市为您收集整理的Python unicode解码错误SUD全部内容,希望文章能够帮你解决Python unicode解码错误SUD所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。