[Python-de] pyqt4: text ist utf-8, wird aber nicht richtig dargestellt
Andreas Perstinger
andipersti at gmail.com
Do Jun 13 14:22:39 CEST 2013
On 13.06.2013 12:59, Wolfgang Meiners wrote:
> Was mich irritiert: Meine Strings haben kein attribute 'decode'. Jeder
> Aufruf von feld.decode('utf-8') führt zu einer entsprechenden
> Fehlermeldung. Das wird an python3 liegen.
Da Python3 zwischen Daten (Bytes) und Text (Strings) unterscheidet,
macht "decode" für String-Objekte keinen Sinn. "decode" ist nur
erforderlich, wenn Du Bytes in Strings umwandelst.
Siehe
http://docs.python.org/3.3/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
> Um zu sehen, was eigentlich
> in dem Feld steht, habe ich ein spezielles durch
>
> str(bytes(item.bemerkung,'utf-8'))
>
> ersetzt und bekomme als Ausgabe
>
> b'Automatisch eingef\xc3\xbcgter Text'
>
> Wie kann ich daraus also den String
> 'Automatisch eingefüger Text'
> machen?
So wie es ausschaut, ist "item.bemerkung" ein UTF8-String:
>>> text = 'Automatisch eingefügter Text'
>>> bytes(text, 'utf-8')
b'Automatisch eingef\xc3\xbcgter Text'
>>> b'Automatisch eingef\xc3\xbcgter Text'.decode('utf-8')
'Automatisch eingefügter Text'
Dein Problem scheint also woanders zu liegen. Aber ohne Ausschnitte aus
Deinem Code wird Dir keiner wirklich helfen können.
Tschau, Andreas
Mehr Informationen über die Mailingliste python-de