在Django应用程序中,我使用suds库发出soap请求。之后,我收到的回复如下:
productdata = '<Root>
<Header>
<User>User</User>
<Password>Password</Password>
<OperationType>Response</OperationType>
</Header>
<Main>
<Hotel>
<HotelName>HotelName1</HotelName>
<TotalPrice>100</TotalPrice>
<Location>My Location</Location>
</Hotel>
<Hotel>
<HotelName>HotelName2</HotelName>
<TotalPrice>100</TotalPrice>
<Location>My Location</Location>
</Hotel>
</Main>
</Root> '
之后,我反序列化这些数据并保存到数据库中。这是我如何反序列化数据:
^{pr2}$我把数据保存到数据库:
e = ET.fromstring(productdata)
d = etree_to_dict(e)
hotels = d['Root']['Main']['Hotel']
for p in hotels:
product = Product()
p.hotelname = p['HotelName']
p.totalprice = p['TotalPrice']
p.location = p['Location']
p.save()
一切都很好。但是当我接收到在Location
标记中包含Ü
符号的数据时,我得到了一个错误:
`UnicodeEncodeError`, `'ascii' codec can't encode character u'\xdc' in position 20134: ordinal not in range(128)`. `Unicode error hint: The string that could not be encoded/decoded was: ARK GÜELL A`.
Django traceback说这个问题在这一行:
e = ET.fromstring(productdata)
谁能帮我解决这个问题吗。谢谢!在
我想你必须从UTF-8手动编码:
相关问题 更多 >
编程相关推荐