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

Thomas Guettler guettli at thomas-guettler.de
Mi Jun 12 17:04:49 CEST 2013


Am 12.06.2013 15:27, schrieb Wolfgang Meiners:
> Hallo Gruppe,
>
> also: ich habe Python 3.3.0 unter OSX 10.6.8. Ich habe PyQt aus
> PyQt-mac-gpl-4.9.4.tar.gz installiert.
>
>
> Im Terminal liefert
> locale:
> LANG="de_DE.UTF-8"
> LC_COLLATE="de_DE.UTF-8"
> LC_CTYPE="de_DE.UTF-8"
> LC_MESSAGES="de_DE.UTF-8"
> LC_MONETARY="de_DE.UTF-8"
> LC_NUMERIC="de_DE.UTF-8"
> LC_TIME="de_DE.UTF-8"
> LC_ALL="de_DE.UTF-8"
>
> In der ./MacOSX/environment.plist ist der key LC_ALL mit dem Wert
> de_DE.UTF-8 eingetragen. Ich lese Werte aus einer Datei, für die
> file -I
> text/plain; charset=utf-8
> liefert. Trotzdem gibt pyqt in einem TreeView den folgenden String aus:
> "Automatisch eingef�gter Text"
>
> Ich möchte also einen String, von dem ich weiß, dass er
> utf-8-formatierten Text enthält, darstellen. Aber das funktioniert nicht.
> (Übrigens nur unter OSX nicht. Kopiere ich das Programm auf Ubuntu, ist
> die Ausgabe korrekt)
>
> Kennt jemand dieses Problem?
> Wie mache ich es richtig?

Es fehlt der Quelltext wie du die Zeichenkette einliest. Vermutlich
ist das eine Bytefolge, und nicht ein Unicode-Objekt.

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.



-- 
Thomas Guettler http://www.thomas-guettler.de/


Mehr Informationen über die Mailingliste python-de