Unicode / Umlaute

Alles rund um die Programmierung mit Qt
Antworten
sdaub
Beiträge: 20
Registriert: 24. November 2004 09:31

Unicode / Umlaute

Beitrag von sdaub »

Hallo, ich habe folgendes Problem,
durch ein Dialog gebe ich z.N. einen Namen ein. Diesen wandel ich so um

Code: Alles auswählen

self.name =  unicode(self.qleName.text()).encode("latin-1")
dann wird self.name einem Label zugewissen

Code: Alles auswählen

self.app.qlMandant.setText(self.name)
es wird dann auch korrekt mit Umlauten dargestellt.
Wenn ich jetzt auf das Label zugreife und z.B den Text in der Konsole anzeigen lasse:

Code: Alles auswählen

print self.app.qlMandant.text()
print unicode(str(self.app.qlMandant.text())).encode("latin-1")
Bei beiden Versuchen kommt folgender Fehler

Code: Alles auswählen

UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 6: ordinal not in range(128)
Danke für die Hilfe
Steffen
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Warum machst Du dir Gedanken über Unicode-Konvertierung? Das macht Qt intern - da musst du nichts wandeln :?:
Nur bei der Ausgabe auf der Konsole würde ich mittels QString::local8bit wandeln.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten