Python Decode Error

  • ich habe ein Python Programm, das alle Kanalinfos ausgeben soll. Klappt auch wunderbar aber heute hatte ich eine Event Descriptions bei der er ausgestiegen ist:


    Traceback (most recent call last):
    File "/usr/script/test.py", line 290, in <module>
    print "Cex1:" + str(a).encode("iso8859-1", "replace") # print with killed UTF-8
    File "/usr/lib/python2.6/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
    UnicodeDecodeError: 'utf8' codec can't decode byte 0xc2 in position 219: unexpected end of data



    Die Daten die in der variablen "a" drin sind (auszug aus dem WebIF wget call):#


    <e2eventdescriptionextended>Themen:Â* Sprachcamps für KinderÂ* Sprachen lernen mit Spaà - beim Reiten, Segeln oder KochenÂ* Anbieter für Sprachurlaub - welche Kriterien helfen bei der Auswahl?Â* Costa Rica - Dschungelabenteuer für FamilienÂ* Baden in der Südsee</e2eventdescriptionextended>


    Beim Encoding scheint er erst mal zu versuchen den string in UTF-8 zu DECODEN. Ich denke es passiert, was hier beschrieben ist:


    http://wiki.python.org/moin/UnicodeDecodeError


    Nur sollte es OK sein, der String vom Web-IF wget call ist ja in UTF - 8. Nur wie kann da dann der Fehler passsieren...? Und wie kann ich ihn vermeiden...?



    Irgendwelche Ideen...? Danke

  • probier mal deinen string so zu encoden, so mach ich das in meinen plugins auch :winking_face:


    mynewstring = mystring.replace('\xc2\x86', '').replace('\xc2\x87', '').decode("utf-8", "ignore").encode("utf-8")

    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert aber niemand weiß warum.