C++ Sonderzeichen Win SetConsoleCP(1252) funktioniert nicht

Gast #4592144
Lesenswert?
• ▲
▼
Ich habe ein kleines Sprachlernprogramm erstellt ...  naja fast. Im 
Spanischen wie im Deutschen (für diese Sprachen ist es gedacht) gibt es 
einige Sonderzeichen die auch benötigt werden um die Sprache richtig zu 
lernen, die die Konsole aber nicht ausgeben möchte.

Dazu hab ich schon das hier gefunden: 
Beitrag "Sonderzeichen in C++"

Der Befehl SetConsoleCP(1252/*oder CP_WINANSI*/) und 
SetConsoleOutputCP([...]). Nun ... diese wollen bei mir nicht 
funktionieren obwohl ich Consolas in der Konsole verwende.

Was ist da los?

MfG, multipilz5 :)
Gast #4593232
Lesenswert?
• ▲
▼
Rufus Τ. F. schrieb:
> Seit wann funktionieren unter Windows Konsolausgaben in UTF-8?

Ich weiß ja, dass Windows immer schon ziemlich hintendran ist; aber 
ernsthaft??? Wir haben 2016 und dieser Müll kann immer noch kein 
Unicode? Bei Google findet man zumindest ein paar Lösungen für UTF-8.

Waren die nicht inzwischen mal bei UTF-16 angekommen?

Naja gut, bei Excel sind sie auch immer noch zu blöd für vernünftige 
Zeichensätze.
Gast #4593346
Lesenswert?
• ▲
▼
Einfach GUI-Anwendung bauen statt Kommandozeile ;D
WinAPI, .NET-Framework, WinRT/UWP und z.B. auch QT und wxWidgets 
arbeiten alle intern mit UTF16.
Im .NET-Framework ist bei Funktionen wie File.WriteAllText UTF8 das 
Standardausgabeformat.
Ärger mit Mehrsprachigkeit hat man eigentlich nur auf der Konsole, wo 
ich den Eindruck hab das MS die mehr als Legacy mit sich rumschleppt als 
da noch wirklich was rein zu investieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren