Python打印带有外来字符的lxml对象

时间:2016-12-31 01:19:40

标签: python unicode lxml

我使用信用卡处理公司提供的Python SDK来访问信用卡交易。除非我点击包含外国(例如,重音)字符的客户地址,否则一切正常。在这种情况下,根据我的操作,脚本会崩溃或输出乱码文本。

例如,以下几行......

            print u'\u0420\u043e\u0441\u0441\u0438\u044f'
            print unicode(billTo.address)
            print billTo.address.__class__

产率:

Россия

Nollekensweg�32

输入'lxml.objectify.StringElement'

请注意,第一行显示可以正确打印unicode。第二行说明了乱码地址,其中“32”之前的三个字符可能应该是单个重音或特殊字符。第三行显示billTo.address是什么类型的对象。

另外,如果我尝试使用“print billTo.address”而不是“print unicode(billTo.address)”,程序会抛出错误。

我需要做些什么来正确检索和打印billTo.address的内容?请注意,我无法控制我所使用的软件放入该对象的内容。

编辑:添加回溯:

`Traceback (most recent call last):
  File "get_transaction_details.py", line 352, in <module>
    download_transaction_details('8386560251')
  File "get_transaction_details.py", line 237, in download_transaction_details
    print billTo.address
UnicodeEncodeError: 'ascii' codec can't encode characters in position 13-15: ordinal not in range(128)`

0 个答案:

没有答案