2011-01-15 2 views
2

В настоящее время я использую этот код для тестовой консоли, но юникод символы всегда полностью разбиты (еще в версии 1.9, то 1.8.7)Как отображать символы юникода, используя проклятия?

# encoding: UTF-8 
require 'curses' 

Curses.noecho # do not show typed chars 
Curses.nonl # turn off newline translation 
Curses.stdscr.keypad(true) # enable arrow keys 
Curses.raw # give us all other keys 
Curses.stdscr.nodelay = 1 # do not block -> we can use timeouts 
Curses.init_screen 

count = 0 
loop do 
    key = Curses.getch || 4294967295 
    next if key == 4294967295 
    exit if key == 3 # Ctrl+c 
    count = (count + 1) % 20 
    Curses.setpos(count,0) 
    Curses.addstr("#{key.inspect} äáßðäëéßðf "); 
end 

идеи, как даже partyally это исправить (на 1,8 или 1,9)?

ответ

1

Я не знаю точных шагов, но я слышал, как люди говорили, что им пришлось перекомпилировать Ruby с помощью libncursesw5-dev, чтобы заставить Unicode работать должным образом.

+0

, похоже, работает при установке libncursesw5-dev, а затем переустанавливает ruby ​​1.9, но имеет своего рода хакки: <(не работает для 1.8.6 или 1.8.7) – grosser

+0

Это имеет смысл, это недавнее дополнение к кодовой базе, поэтому вероятно, он будет работать только с новейшей версией. Если я правильно понимаю, это полностью исправляет проблему для версии 1.9 после ее установки. Это верно? Вам требуется исправление для 1.8? – Mark

+0

Да, все отлично в 1.9 после переустановки, но 1.8 вообще не помогло. – grosser

Смежные вопросы