Umlaute in QTextStream mit <<operator

Verschiedenes zu Qt
Antworten
otternase
Beiträge: 62
Registriert: 25. Januar 2008 12:20

Umlaute in QTextStream mit <<operator

Beitrag von otternase »

Hallo

wenn ich diesen Operator nutze QTextStream & QTextStream::operator<< ( const char * string ) habe ich ein Problem mit Umlauten im string.

Code: Alles auswählen

QTextStream out(&file);
out << "ÄÖÜäöüß" << endl;
geht komplett schief.
QTextStream::setCodec(QTextCodec *codec) scheint bei diesem Operator auch keine Auswirkungen zu haben? So sagt es jedenfalls das Ergebnis eines Tests damit und auch die Doku: "string is assumed to be in ISO-8859-1 encoding"

Gibt es da irgendwie einen Workaround?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das übliche Problem. Woher soll Qt wissen welche Kodierung Du benutzt. Weißt Du es selbst übehaupt?.
Wenn Du dir sicher bist das alles UTF-8 kodiert ist dann sollte man QString::fromUtf8() benutzen. Am sichersten ist aber immer nur ASCII zu bentuzen und den Rest zu übersetzen. Alles andere gibt früher oder später nur Probleme.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten