[Python-de] pyqt4: text ist utf-8, wird aber nicht richtig dargestellt

Wolfgang Meiners WolfgangMeiners01 at web.de
Do Jun 13 12:59:22 CEST 2013


Danke erstmal für die Rückmeldung!

Am 12.06.13 17:04, schrieb Thomas Guettler:
> Es fehlt der Quelltext wie du die Zeichenkette einliest. Vermutlich
> ist das eine Bytefolge, und nicht ein Unicode-Objekt.
>

Der fehlt aus gutem Grund, die Situation ist nämlich etwas komplizierter
als ich sie hier dargestellt habe.
Aus einer Datei werden die Daten gelesen, mittels sqlalchemy in eine
Postgresql Datenbank übertragen, dort mittels sqlalchemy (von einem
weiteren Programm) ausgelesen und dargestellt. In der Datenbank steht
uft8, lasse ich sqlalchemy in eine Datei drucken, steht da utf8 - nur
beim Übergang zu pyqt kriege ich Darstellungsfehler.

> versuche das:
>
> import codecs
> fd=codecs.open(myfile, 'rt', 'utf8')
> ....
>
> oder das Wandeln der Zeichenkette:
> mystr.decode('utf8') # de-kodieren: also von byte-string zu unicode
objekt.
>

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. 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?

Danke für alle Tipps
Wolfgang




Mehr Informationen über die Mailingliste python-de