Django UnicodeEncodeE公司

2024-09-27 00:13:07 发布

您现在位置:Python中文网/ 问答频道 /正文

在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)

谁能帮我解决这个问题吗。谢谢!在


Tags: 数据djangoinmainmylocationrootpassword

热门问题