Umlaute in ComboBox
-
Ich scheitere gerade daran einer CComboBox einen CString mit Umlaut zu füttern.
Kann mir jemand helfen und sagen, wie ich den String korrekt umwandle?CString str = "Äpfel"; m_combolist1.AddString(str);
Liefert mir leider: Äpfel
-
Steht dein Projekt auf
UNICODE
(als Makro in den Projekteinstellungen)?
Dann probiere mal:CString str = L"Äpfel"; // also als Wide-Stringliteral
-
@Th69 sagte in Umlaute in ComboBox:
CString str = L"Äpfel";
Zeichensatz steht auf Unicode. Leider keine Veränderung. Ich sehe auch keine Eigenschaft bei der ComboBox, die ich noch setzen könnte.
-
Dann lies dir mal die Beiträge in Umlaute in AfxMessageBox durch - vllt. hilft dir das weiter?
-
Hi @JanaBusch ,
steht aufUNICODE
in den Einstellungen bedeutet ggf. nicht unbedingt, dass die Source-Datei im UTF-8 Mode gespeichert ist.
Kontrolliere doch mit "Speichern unter", und dann neben dem Button [Speicher] den Pfleil betätigen. Dort dann auf "Mit Codierung speichern..." drücken. Wenn "Codierung" nicht auf "Unicode (UTF-8 ohne Signatur) Codepage 65001" eingestellt, dann darauf einstellen (steht ganz unten in der Auswahl).Edit: zu spät, @Th69 hat schon den richtigen Hinweis gegeben.
-
@Helmut-Jakoby und @Th69 - Herzlichen Dank euch beiden. "Speichern unter" war die Lösung! Es musste auf Westeuropäisch ISO 28591 gestellt werden. Nun kommen alle Umlaute richtig rein.
-
Alternativ kannst du statt der Umlaute auch einfach den jeweiligen Code einfügen:
https://javawiki.sowas.com/doku.php?id=java:unicode
also statt "Äpfel" z.B. "\u00c4pfel"