IRB 转义 UTF 字符
IRB escapes UTF characters
我正在使用 OS-X (10.10.5) 和 rbenv (1.0.0) Ruby (2.2.4p230) 和 Fish Shell (2.2.0) .
当我在 irb
中输入非 ASCII 字符时,它们会自动转义。
max@MaxBook ~/p/sandbox> echo "Ö"
Ö
max@MaxBook ~/p/sandbox> irb
irb(main):001:0> \U+FFC3\U+FFB6
虽然起初这可能是 shell 或我的终端设置的问题,但它只发生在 IRB 中。更改 shells 或 ruby 版本不会影响它。
我以前的笔记本电脑没有这个问题,它的配置几乎相同。这是怎么回事?
您可以在 IRB
中启用 unicode 支持,方法是针对 readline
(而不是默认的 libedit
)重新编译 Ruby。
首先安装 readline
例如 brew
:
brew install readline
我使用 rbenv
管理 Ruby 版本并使用以下行安装 Ruby 版本:
RUBY_CONFIGURE_OPTS=--with-readline-dir="$(brew --prefix readline)" rbenv install 2.3.1
rvm
看起来像:
rvm install 2.3.1 --with-readline-dir=$rvm_path/usr
或者当您可能想从源代码重新编译 Ruby 时,this answer 可能会对您有所帮助。
我正在使用 OS-X (10.10.5) 和 rbenv (1.0.0) Ruby (2.2.4p230) 和 Fish Shell (2.2.0) .
当我在 irb
中输入非 ASCII 字符时,它们会自动转义。
max@MaxBook ~/p/sandbox> echo "Ö"
Ö
max@MaxBook ~/p/sandbox> irb
irb(main):001:0> \U+FFC3\U+FFB6
虽然起初这可能是 shell 或我的终端设置的问题,但它只发生在 IRB 中。更改 shells 或 ruby 版本不会影响它。
我以前的笔记本电脑没有这个问题,它的配置几乎相同。这是怎么回事?
您可以在 IRB
中启用 unicode 支持,方法是针对 readline
(而不是默认的 libedit
)重新编译 Ruby。
首先安装 readline
例如 brew
:
brew install readline
我使用 rbenv
管理 Ruby 版本并使用以下行安装 Ruby 版本:
RUBY_CONFIGURE_OPTS=--with-readline-dir="$(brew --prefix readline)" rbenv install 2.3.1
rvm
看起来像:
rvm install 2.3.1 --with-readline-dir=$rvm_path/usr
或者当您可能想从源代码重新编译 Ruby 时,this answer 可能会对您有所帮助。