Anfängerfrage Umlaute in Messagebox
-
Ich habe vor jahren ein Programm geschrieben und wollte
jetzt mit der aktuellen Version von Codeblock(svn9378) und tdm-gcc-4.8.1
eine Änderung vornehmen.Wenn ich jetzt den Quellcode compiliere, werden die Umlaute in den
nicht richtig dargestellt.if (MessageBox(hwndDlg, "Wollen Sie den Wert erhöhen?", "Änderung", MB_YESNO) == IDYES) { //weiterer code }
Mit "Wollen Sie den Wert erh\xF6hen?" wird der Umlaut richtig dargestellt.
Kann mir da vielleicht jemand einen Tip geben, wie ich das lösen kann?
Danke.
-
Dein Editor sollte die gleiche Codepage benutzen wie Dein Programm. Also ANSI oder UNICODE jenachdem, wie Du Dein Programm übersetzt.
-
Die Einstellung beim Editor ist Code Page 1252 Windows Latin 1 ( ANSI), sollte also passen.
Eigenartig ist, dass der Titel des Dialoges richtig, die Messagebox falsch angezeigt wird.
Titel soll: 'äüöÄÜÖ' ist: 'äüöÄÜÖ'
Msgbox soll: 'äüöÄÜÖ' ist 'äüöÄÜÖ'Dabei dürfte es sich um UTF8 codierung handeln: C3 A4 C3 BC C3 B6 C3 84 C3 9C C3 96
-
Das ist sehr seltsam. MessageBox erwartet entweder zwei AnsiStrings oder zwei UnicodeStrings. Mit UTF-8 kann es nix anfangen.
Schau Dir mal den Quelltext mit 'nem anderen Editor oder einem HexEditor an. Vielleicht siehst Du dann, wo der Murcks ist.
mfg Martin