ncursesw und utf-8



  • Hallo!

    Ich schreibe gerade ein MP3-Player mit curses-Oberfläche. Leider habe ich ein paar Probleme mit der Darstellung von UTF-8. Wenn ich folgendes Programm mit g++ test.cpp -lncursesw compiliere:

    #include<ncursesw/ncurses.h>
    int main()
    {
    initscr();
    addstr("Хор отаку респ. Марий Эл\n");
    addstr("林原めぐみ\n");
    getch();
    endwin();
    return 0;
    }

    bekomme ich die folgende kaputte Ausgabe:

    ХоÑ~@ оÑBакÑC Ñ@еÑAп. Ð\аÑ@ий Эл
    æ^NBAPã~A¿

    Mit cout oder printf funktioniert die Ausgabe hingegen wunderbar.
    Woran kann das liegen? Unterstützt ncurses oder ncursesw gar kein UTF-8?

    PS: Code Tags weggelassen, da die das UTF-8 kaputtmachen.



  • Noch keiner erfolgreich UTF-8 in ncurses verwendet?



  • bump :xmas2:



  • Ist dein Terminal auf UTF-8 gesetzt?
    Können andere Programme auf deinem System UTF-8 ausgeben?
    Sind die locales deines Programms richtig gesetzt?



  • the_answerer schrieb:

    Ist dein Terminal auf UTF-8 gesetzt?
    Können andere Programme auf deinem System UTF-8 ausgeben?
    Sind die locales deines Programms richtig gesetzt?

    Ich benutze rxvt-unicode, $LANG ist auf en_US.UTF-8 gesetzt und mit std::cout oder printf kann ich problemlos UTF-8 ausgeben.



  • gibt es eventuell eine andere lib, die mir ein portables gotoxy, kbhit und getch bereitstellt und utf-8 unterstützt?


Anmelden zum Antworten