【问题标题】:How to display unicode characters using curses?如何使用curses显示unicode字符?
【发布时间】:2011-01-15 20:58:52
【问题描述】:

我目前正在将此代码用于测试控制台,但 unicode 字符总是完全损坏(在 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

知道如何部分解决这个问题(在 1.8 或 1.9 上)吗?

【问题讨论】:

    标签: ruby ruby-1.9 curses ruby-1.8


    【解决方案1】:

    我不知道确切的步骤,但我听说有人说他们必须使用 libncursesw5-dev 重新编译 Ruby 才能让 Unicode 正常工作。

    【讨论】:

    • 在安装 libncursesw5-dev 然后重新安装 ruby​​ 1.9 时似乎可以工作,但它有点 hacky :
    • 这是有道理的,它是最近添加到代码库中的,因此它可能仅适用于最新版本。如果我理解正确,一旦你安装了它,这完全解决了 1.9 版的问题。那是对的吗?您还需要修复 1.8 吗?
    • 是的,重新安装后 1.9 一切正常,但 1.8 根本没有好处。
    • 我认为该库是在 1.8 之后添加的,所以我不知道您是否能够毫不费力地使用 1.8。
    猜你喜欢
    • 2012-04-27
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多