Fragensteller
Aus der MSDN-Hotline: Deutsche Umlaute in der Console anzeigen (Standard C++)

Allgemeine Diskussion
-
Hallo zusammen,
heute wurde uns bei der MSDN Hotline unter anderem folgende Frage gestellt:Ich schreibe ein C++-Programm für die Konsole. Die Umlaute werden aber nicht korrekt dargestellt. Wie stelle ich die Konsole so ein, dass sie Umlaute korrekt anzeigt?
Unsere Antwort bzw. unser Lösungsvorschlag darauf war:Es gibt dafür mehrere Varianten, die alle mit verhältnismäßig viel Aufwand verbunden sind. Die einfachste Variante, die wir finden konnten, funktioniert so: 1. Erzeugen Sie eine deutsche Locale-Instanz; 2. Initialisieren Sie die globale Locale mit der deutschen Locale. Im Code sieht das dann so aus:
#include <iostream> int main(int argc, char* argv[]) { std::locale::global(std::locale("German_germany")); std::cout << "Hallo, schöne Welt!" << std::endl; }
In Zukunft soll sich die Console auch über die Methode "imbue()" auf eine andere Locale einstellen lassen. Bis dato funktioniert das leider noch nicht.
(Danke Markus)Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.
Viele Grüße,
Jonathan Best
MSDN Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline
Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.
Alle Antworten
-
Das ist leider veraltet. Ich bekomme kein Ö auf die Konsole.
Der Beitrag ist ja nunmal auch schon fast 9 Jahre alt. Im IT Zeitalter also etwa der Zeit der Dampfmaschinen zuzurechnen :)
Für deine Frage (auch wenn sie nicht explizit da steht), schau mal hier:
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport -
So erkennt man Ursachen für Umlauten-Kodierungen:
Ein Beispiel für das Wort Höhe:
- UTF-8-Text in ISO-8859-1/9/13-16-Umgebung
- Höhe → Höhe (à und ein weiteres Zeichen je Umlaut)
- ISO-8859-1-Text in UTF-8-Umgebung
- Höhe → H�he bzw. Fehlermeldung mit Abbruch. (Gleiche � für alle Umlaute)
Mehr auf https://de.wikipedia.org/wiki/UTF-8