Archiv verlassen und diese Seite im Standarddesign anzeigen : Umlaute in KAboutData
axeljaeger
11-09-2003, 16:50
Ich hab das Problem, das ich Jäger mit Nachnamen heiße, und dass das Wort leider einen Umlaut enthält. Ich wollte in einem KDE-Programm meinen Namen in die Aboutbox eintragen und habe festgestellt, das es da zu Problemen kommt, nämlich dass das 'ä' nicht korrekt angezeigt wird. Mir ist aufgefallen, das KAboutData intern char* und nicht QString verwendet. Ob es damit zusammenhängt und ich pech gehabt habe? Oder hat Mandrake mal wieder Mist gebaut?
axeljaeger
11-09-2003, 16:53
noch einer
axeljaeger
11-09-2003, 16:54
und noch den Code(anhängen geht leider nicht):
#include <kapplication.h>
#include <kmainwindow.h>
#include <kcmdlineargs.h>
#include <kaboutdata.h>
const char *description =
I18N_NOOP("test Aboutdata");
int main(int argc, char** argv)
{
KAboutData aboutData( "abouttest", I18N_NOOP("Abouttest"),
"0.11", description, KAboutData::License_GPL,
"(c) 2003, Axel Jäger", 0, 0, "axeljaeger@web.de");
KCmdLineArgs::init(argc, argv, &aboutData);
aboutData.addAuthor("Axel Jäger",0, "axeljaeger@web.de");
KApplication app;
KMainWindow win;
app.setMainWidget(&win);
win.createGUI();
win.show();
return app.exec();
}
anda_skoa
11-09-2003, 22:46
Wahrscheinlich wird ein bestimmtes Encoding erwartet, UTF8 vielleicht.
Probiers am einfachsten mal mit I18N_NOOP Macro.
Wenns dann geht, kann man da sicher auch im Code mit QString machen.
zB für UTF8
static_cast<const char*>( QString("Jäger").utf8() );
Ciao,
_
axeljaeger
12-09-2003, 13:23
Nein, beide von dir genannten Lösungen funktionieren nicht. Beim ersten nach wie vor ein Kasten anstatt dem 'ä' beim zweiten steht gar nichts mehr beim Namen. Ich hab auch noch mal latin1() benutzt, da kommen dann nur noch Kästen. Es kann ja auch gar nicht gehen, KAboutData verwendet intern const char * und nicht QString.
Edit: da isses: http://bugs.kde.org/show_bug.cgi?id=31774 anscheinend ist der Quelltext als utf8 abzuspeichern.
Edit2: Ja, mit UTF funktioniert es einwandfrei
anda_skoa
15-09-2003, 18:21
Original geschrieben von axeljaeger
Es kann ja auch gar nicht gehen, KAboutData verwendet intern const char * und nicht QString.
Das ist ja ansich egal. Es hängt ja nur davon ab, wie die Zeichen im char Array kodiert sind.
bei addAuthor() steht eben was von UTF8
Edit2: Ja, mit UTF funktioniert es einwandfrei
Hmm, dann hätte es mit der zweiten Methode ansich klappen müssen.
eventuell mit einem weiteren Zwischenschritt mit QString::fromLatin1
Wie hast du es jetzt gemacht?
Ciao,
_
axeljaeger
16-09-2003, 13:51
Ich hab den Quelltext in Kate als UTF gespeichert und ohne QString direkt eingegeben.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.