Seite 1 von 1
Umlaute ersetzen
Verfasst: 2. Juli 2008 21:29
von alfonsospringer
Da es sonst Probleme mit der Kodierung gibt möchte ich, dass Umlaute in der eingabe des Users (QTextEdit) vor der weiteren Auswertung durch Buchstabenkombinationen (ä->ae, usw.) erstetzt werdem. Das dachte ich mir so:
QString text = eingabe->text().replace(QString("ä"), QString("ae"));
Aber irgendwie funktionierts nicht. Das ä bleibt trotzdem ein ä. Woran liegt das und wie mach ichs richtig?
Verfasst: 2. Juli 2008 22:48
von -=Freaky=-
eingabe->toPlainText()
vllt.?
in der doku zu QTextEdit kann ich zumindest gerade keine text()-methode finden.
mfg,
julian
Re: Umlaute ersetzen
Verfasst: 3. Juli 2008 06:31
von Christian81
alfonsospringer hat geschrieben:Da es sonst Probleme mit der Kodierung gibt
...
Aber irgendwie funktionierts nicht. Das ä bleibt trotzdem ein ä. Woran liegt das und wie mach ichs richtig?
Genau deshalb - woher weiß dein Compiler das ein 'ä' auch wirklich ein 'ä' ist? Nimm den Unicode-Code von 'ä' und es geht.
Verfasst: 3. Juli 2008 07:38
von PeterLustig
In C++ nutzt man grundsätzlich keine Sonderzeichen im Code. Solltest du wirklich beachten. :>
Verfasst: 3. Juli 2008 14:36
von alfonsospringer
Ist DAS der Unicode von Ä?
ä ;
Quelle (
http://www.html-php-mysql.de/generatoren/unicode.php)
So richtig? Tuts jedenfalls nicht... text().replace(QString("ä ;"), QString("ae"));
Das Leerzeichen vor dem Semikolon ist Absicht, damit es nicht interpretiert wird
Verfasst: 3. Juli 2008 14:53
von Christian81
Du erszeugst einen String der "ä ;" als Inhalt hat und wunderst Dich dass damit nicht 'ä' ersetzt wird...

Verfasst: 3. Juli 2008 14:55
von alfonsospringer
Dann sag mir doch bitte wie ich es richtig mache? Ich kann den String doch nicht nach einer Zahlenkombination durchsuchen, oder?
Verfasst: 3. Juli 2008 16:18
von Christian81
Du willst den String nach einem 'ä' durchsuchen. Dann mach das auch!
http://doc.trolltech.com/4.3/qchar.html#QChar-6
Verfasst: 3. Juli 2008 16:36
von alfonsospringer
Danke, dass hat gereicht 8)