Sie müssen setlocale(LC_CTYPE, "");
angerufen haben (mit einem konfigurierten UTF-8-basierten Gebietsschema) vor der Initialisierung von ncurses. Sie müssen auch sicherstellen, dass Ihr ncurses tatsächlich mit Wide-Char-Unterstützung ("ncursesw") erstellt wurde, aber auf modernen Distributionen ist dies der Standard-/einzige Build.