Hallo zusammen,
ich möchte einen simplen Russischen Text in meiner Anwendung ausgeben.
QSrting teststring ="привет мир";
painterStpg->drawText( 5, 45,teststring );
oder
QMessageBox::information( 0, tr("Test"), teststring , tr("Schließen"), 0);
leider kann ich den String nicht mit tr(..) übersetzen lassen weil er zur Laufzeit ein-/ausgegeben werden soll.
Auch mit dem QT Beispiel komme ich nicht weiter.
QCString locallyEncoded = "привет мир"; // text to convert
QTextCodec *codec = QTextCodec::codecForName("KOI8-R"); // get the codec for KOI8-R
QString unicodeString = codec->toUnicode( locallyEncoded );
Hier bringt der Debugger für unicodeString {"?????? ???몭몭몭ꮫꮫꮫꮫ" len=10} zurück.
Das muss doch gehen!
Benutze MS Visual.Net 2003 und QT 3.3.6
Ausgabe Russischer Text mit drawText(...) o. QMessagebox()
-
Komegianer
- Beiträge: 2
- Registriert: 12. Januar 2009 16:31
Re: Ausgabe Russischer Text mit drawText(...) o. QMessagebox
versuch mit UTF-8 oder cp1251
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Das liegt wohl an deinem Compiler. Wie speicherst Du die Datei ab? Als utf-8? Wie interpretiert der Compiler diese Datei - d.h. wie ist deine LANG Umgebungsvariable eingestellt? Und drittens - laut Doku interpretiert QString::operator= ( const char * str ) den String als ASCII-String. Das ist sicher nicht was Du willst.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
Komegianer
- Beiträge: 2
- Registriert: 12. Januar 2009 16:31
Hallo kitov und Christian81,
danke für die superschnelle Antwort.
Ich habe anstelle KOI8-R jetzt cp1251 eingesetzt.
QCString locallyEncoded = "привет мир"; // text to convert
QTextCodec *codec = QTextCodec::codecForName("cp1251"); // get the codec for cp1251
QString unicodeString = codec->toUnicode( locallyEncoded );
Dann meine Cpp Datei im Unicodeformat abgespeichert.
Unter erweiterte Speichereinstellungen habe ich
Kyrillisch (Windows) - Cpdepage 1252
ausgewählt.
Jetzt gehts, super!
danke für die superschnelle Antwort.
Ich habe anstelle KOI8-R jetzt cp1251 eingesetzt.
QCString locallyEncoded = "привет мир"; // text to convert
QTextCodec *codec = QTextCodec::codecForName("cp1251"); // get the codec for cp1251
QString unicodeString = codec->toUnicode( locallyEncoded );
Dann meine Cpp Datei im Unicodeformat abgespeichert.
Unter erweiterte Speichereinstellungen habe ich
Kyrillisch (Windows) - Cpdepage 1252
ausgewählt.
Jetzt gehts, super!