³ anstelle von ü



  • Weiss jemand woran das liegt und wie man es ändert.

    std::cout << "ü " << 'ü' << '\n';
    std::wcout << L"ü " << L'ü' << '\n';
    

    Beides führt zu einem hochgestellten ³, eigentlich wollte ich ein ü ausgeben.

    Danke 😕



  • @titan99_
    du musst wohl die locales für wcout umstellen.
    mit wcout.imbue vermute ich mal ...



  • @titan99_ Wo und wie machst du das?

    Wenn es Windows und ein Konsolenprogramm ist, dann liegt es an unterschiedlichen Code Pages.

    Man kann die ändern oder dem Compiler mitteilen, für welche Ziel-Code-Page übersetzt werden soll.



  • Danke für die Antworten.

    Mir ist gerade in den Sinn gekommen, dass ich in Visual Studio die Sprache auf Englisch eingestellt habe.

    @Bushmaster sagte in ³ anstelle von ü:

    @titan99_
    du musst wohl die locales für wcout umstellen.
    mit wcout.imbue vermute ich mal ...

    Ok, werd ich versuchen.

    @DirkB sagte in ³ anstelle von ü:

    Wenn es Windows und ein Konsolenprogramm ist, dann liegt es an unterschiedlichen Code Pages.
    Man kann die ändern oder dem Compiler mitteilen, für welche Ziel-Code-Page übersetzt werden soll.

    Es ist im Moment mit Windows und die Ausgabe ist in der Konsole, später ändere ich dann aber die Ausgabe in eine Textdatei.



  • std::locale::global(std::locale(""));
    

    Das behob das Problem.


Log in to reply