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

Walter Dörwald walter at livinglogic.de
Fr Jun 14 15:30:22 CEST 2013


On 14.06.13 14:54, Wolfgang Meiners wrote:
> Am 14.06.13 13:59, schrieb Dinu Gherman:
>>> https://dl.dropboxusercontent.com/u/5015890/Beweisfotos/minimal.zip
>>
>> Ich versuche heut noch mal reinzuschauen...
>
> kann es sein, dass das Problem etwas mit utf-8 und utf-8-mac zu tun hat?
> In der minimal_ui.py steht folgende Funktion:
>
>      def retranslateUi(self, Dialog):
>          Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog",\
>          "Dialog", None, QtGui.QApplication.UnicodeUTF8))
>          self.label.setText(QtGui.QApplication.translate("Dialog",\
>          "Ätsch", None, QtGui.QApplication.UnicodeUTF8))
>
> die ich einfach mal ergänzt habe zu
>
>      def retranslateUi(self, Dialog):
>          Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog",\
>          "Dialog", None, QtGui.QApplication.UnicodeUTF8))
>          name='Ätsch'
>          self.label.setText(QtGui.QApplication.translate("Dialog", name,\
>          None, QtGui.QApplication.UnicodeUTF8))
>          print(bytes(name,'utf-8'))
>          print(bytes(self.label.text(),'utf-8'))
>
>
> Das führt -mit Eclipse gestartet- zur Ausgabe
> b'\xc3\x84tsch'
> b'\xc3\x84tsch'
>
> und im Terminal gestartet zur Ausgabe
> b'\xc3\x84tsch'
> b'\xef\xbf\xbdtsch'
>
> Aber wo steckt der Fehler?

Hmm, b'\xef\xbf\xbd' ist ein "REPLACEMENT CHARACTER" in UTF-8. Evtl. 
gibt's Probleme mit dem Encoding des Python-Skripts/Text-Editors?

Schreib doch mal in Deinem Sourecode

    name='\xc4tsch'

statt

    name='Ätsch'

Servus,
    Walter



Mehr Informationen über die Mailingliste python-de