Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

NCurses a polskie znaki

Ostatnio zmodyfikowano 2017-12-15 10:19
Autor Wiadomość
Rashmistrz
Temat założony przez niniejszego użytkownika
NCurses a polskie znaki
» 2017-08-12 22:59:24
Ostatnio załatwiłem sobie bibliotekę NCurses,
bo chciałem sobie napisać własną konsolkę,
jednak chciałbym by dała radę wypisywać polskie znaki,
więc dla testu machnąłem takie coś:

C/C++
#include <ncurses.h>

int main()
{
    initscr(); /* Start curses mode              */
    printw( "Zażółć gęślą jaźń!" ); /* Print Hello World              */
    refresh(); /* Print it on to the real screen */
    getch(); /* Wait for user input */
    endwin(); /* End curses mode                */
   
    return 0;
}

Oczywiście linkuję z biblioteką ncursesw,
ale niestety mimo wszystko otrzymuję taki output:
ZaA1A3A~BÄ~G gÄ~YA~[lÄ~E jaAoA~D!

Więc coś tu nie gra, ale co?

// Przestawiłem edytor na UTF-8, jak wam nie działa to machnijcie:
printw( u8 "Za\u017C\u00F3\u0142\u0107 g\u0119\u015Bl\u0105 ja\u017A\u0144!" );


EDIT:
// Same NCurses załatwiłem przez pacmana z MSYSa 2-jki.
// Rozwiązałem też problem w inszy sposób:
// Pobrałem repo PDCurses i zbuildowałem
// z wymuszeniem widechar i utf-8:
// "make -f mingwin32.mak WIDE=Y UTF8=Y"
 
// Mimo wszystko jak uzyskać taki efekt na oryginalnej bibliotece?
P-163943
ParseThisCode
» 2017-12-15 01:25:22
W konsoli na Windowsie trzeba ustawić odpowiedni CP.

C/C++
#include <windows.h>

SetConsoleOutputCP( 1250 );
P-167919
j23
» 2017-12-15 10:19:14
Zapisz pliki źródłowe w utf-8 i dodaj opcję w ustawieniach kompilatora -fexec-charset=cp852.
P-167920
« 1 »
  Strona 1 z 1