Ich habe ein QtextEdit Widget und versuche den Text den ich davon durch die Methode toPlainText() in eine Textdatei zu schreiben.
Dieser Text kann im Widget auch Zeichen wie "ö" oder Japanische Zeichen enthalten.
Ich dachte mir:
Code: Alles auswählen
>>> t = QString("öööö")
>>> tt = str(t)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)

"Na klar, ist ja auch ein unicode string und kein 0815 String!"
Code: Alles auswählen
>>> tt = unicode(t)
>>> print tt
öööö

"Vielleicht gehts ja so!"
Code: Alles auswählen
>>> ttt = tt.decode("utf-8")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)

Was mache ich falsch?