LINUX.ORG.RU

ncurses, UTF-8, а также другие локали


0

0

Ребята подскажите по ncurses.

В базе sqlite3 хранятся строки в UTF-8. Мне необходимо отображать их в программе с ncurses. Также хотелось бы, чтобы программа работала на разных локалях (например в koi8-r, cp1251, utf-8).

Как выводить юникодные строки в ncurses?

★★★★

по-моему ее нудно собрать с поддержкой соответствующих локалей

anonymous
()

UTF-8 конвертировать в UCS-4 (хоть вручную, хоть iconv-ом (man 3 iconv)). А потом - wcstombs (только пере этим нужно setlocale(LC_ALL, 0))

Но можно и сразу iconv-ом (только тогда надо будет getenv("LANG") - разбирать)

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

спасибо, я попробую... Надеюсь получится :)

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

В общем сделал перекодирование через iconv.

Теперь другой вопрос: как быть с локалью в UTF8 ?? Как выводить русские символы в ncurses в этом случае? Пробовал линковать с libncursesw - не помогает :(

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

>как быть с локалью в UTF8

Я вообще не спец по ncurses

>Как выводить русские символы в ncurses в этом случае?

Подозреваю, так же как и в случае с другими локалями. А ncurses, вообще, нормально работает с utf-8?

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

>по идее в mc все нормально работает :)

Ну тогда будет и у тебя работать. Уже бы проверил. printw (Или как там в ncurses вывод на экран)?

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