UTF8 Latin Umlaute??

Alles rund um die Programmierung mit Qt
Antworten
Frostie
Beiträge: 60
Registriert: 23. September 2006 09:02

UTF8 Latin Umlaute??

Beitrag von Frostie »

Hallo,

ich habe folgendes Problem, ich hab ein Programm am Mac geschrieben.

Ich benutze Umlaute in einigen Combos. Doch leider werden immer komische Zeichen angezeigt. Egal was ich mache. Ich bearbeite die Datei mit XCode und compile in der Shell.

Ich hab XCode schon auf UTF8, Latin1 eingestellt, doch immer das gleiche Problem. Gibt es eine Möglichkeit das zu ändern?

P.S. Die Umlaute, die aus der DB kommen werden richtig dargestellt.


Grüsse
Matthias
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wie konvertierst Du die utf-8 Zeichen in einen QString? -> QString Doku!
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Frostie
Beiträge: 60
Registriert: 23. September 2006 09:02

Beitrag von Frostie »

Hallo,

ich mache es einfach nur so, dachte das sollte gehen:

comboBox_sel_ohne->addItem("Ohne Überprojekt");


Oder muss ich das noch extra convertieren?

Also muss ich wenn das File ein UTF8 ist, dort noch was machen?

Das verwirrt mich irgendwie....

Danke
Frostie
Beiträge: 60
Registriert: 23. September 2006 09:02

Beitrag von Frostie »

Also,

weder

comboBox_sel_ohne->addItem(QString("Ohne Überprojekt").toLatin1());

noch

comboBox_sel_ohne->addItem(QString("Ohne Überprojekt").toUTF8());

Macht es richtig, geht wohl nicht mit qt auf dem Mac, egal ich schreib jetzt immer ue, oe und ae.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Man sollte die Doku schon richtig lesen...
Die CombobBox möchte einen QString, Du hast ein char* als utf-8 vorliegen. Warum wandelts Du dann also den char* in einen QString um (den QString als ASCII erwartet -> DOKU!) und erzeugst daraus ein QByteArray???

http://qtforum.de/forum/viewtopic.php?t=8678&
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Frostie
Beiträge: 60
Registriert: 23. September 2006 09:02

Beitrag von Frostie »

Ok,

hab mich mal an den russischen Beitrag gehalten und folgendes gemacht:

Code: Alles auswählen

QByteArray encodedString = "Ohne Überprojekt";
	QTextCodec *codec = QTextCodec::codecForName("ISO 8859-1");
	QString string = codec->toUnicode(encodedString);
	comboBox_sel_ohne->addItem(string);

Aber leider ohne erfolg.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Sagtest Du nicht gerade eben noch dass Deine Datei und Deine Umgebung UTF-8 ist?

http://doc.trolltech.com/4.4/qstring.html#fromUtf8
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Frostie
Beiträge: 60
Registriert: 23. September 2006 09:02

Beitrag von Frostie »

Naja,

wegen den Umstellungen hab ich mal UTF8 und mal ISO probiert und mit beiden ging es nicht, jetzt hab ich aber ne funktionierende Variante gefunden.

File in UTF8 und dann dort UTF8 eintragen.

Danke
Antworten