2011-01-15 30 views
2

I(1.8.7その後、さらに1.9に)現在テストコンソールのためにこのコードを使用していますが、Unicodeの文字は常に完全に壊れているcursesを使ってUnicode文字を表示する方法は?

# 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

正確な手順はわかりませんが、libncursesw5-devを使ってRubyを再コンパイルして、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

関連する問題