LINUX.ORG.RU

Как выводить utf-8 через ncurses?


0

1

Нужно вывести строку с кириллицей. Вот код:

#include <ncurses.h>
int main(int argc, char *argv[])
{
	WINDOW *win;
	win = initscr();
	wprintw(win, "Это - ебучий юникод aka UTF-8");
	refresh();
	getch();
	endwin();
	return 0;
}
Выводит такие крякозябры:
Э�~Bо - еб�~C�~Gий �~Nникод aka UTF-8

ЧЯДНТ?

★★★★★
Ответ на: комментарий от k0l0b0k

Заменил <ncurses.h> на <ncursesw/ncurses.h>; компилирую

gcc -Wall -o ncunicode ncunicode.c -lncursesw
Все равно такие же крякозябры.

tiandrey ★★★★★
() автор топика
Ответ на: комментарий от tiandrey

хм. пиши в багзиллу ncurses. у них видио ошибка в процессинге utf-8, т.к. неработают некоторые конкретные символы:
«Это - юникод aka UTF-8» - 'т' и 'ю' - кракозябры
«Эо - Юникод aka UTF-8» - так нормально.

k0l0b0k ★★
()
Ответ на: комментарий от Deleted

Спасибо огромное! То, что доктор прописал!

tiandrey ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.