Кто знаком с ncruses на Си. Как там включить поддержку русского языка?

Кто знаком с ncurses. Почему русские символы на linux отображаются так : Вот линукс

А на маке отображаются корректно : Вот как на маке


Ответы (1 шт):

Автор решения: avp

В linux нужно вызвать setlocale(LC_ALL, "") в первых строках программы.

(пример взят отсюда)

#include <ncurses.h>
#include <unistd.h>
#include <signal.h>
#include <locale.h>

void sig(int n)
{
}

int main()
{
  setlocale(LC_ALL, "");
  signal(SIGINT, sig);

  initscr();
  char text[]="Русский UTF-8 текст\n";
  printw("%s",text);
  refresh();
  pause();
  endwin();

  return 0;
}

При компиляции не забудьте указать библиотеку

gcc txx.c -lncursesw

Для завершения программы нажмите Ctrl-C

→ Ссылка