How to make ncurses display UTF-8 chars correctly in C?
You need to have called setlocale(LC_CTYPE, "");
(with a UTF-8 based locale configured) before initializing ncurses. You also need to make sure your ncurses is actually built with wide char support ("ncursesw") but on modern distros this is the default/only build.