如何在rails控制台(或irb)中输入多字节字符?

时间:2011-01-04 04:47:48

标签: ruby irb

人。我正在开发一个带有rails的中文应用程序。现在我想在rails控制台中输入一些中文字符,但不能在irb中输入。

有经验解决这个问题的人吗?我很感激你的帮助!

3 个答案:

答案 0 :(得分:5)

根据@ Jimmy-Huang的回答,这些是我在Mac Leopard上使用rvm和ruby 1.9.2的步骤:

rvm package install readline
rvm remove 1.9.2
rvm install 1.9.2 --with-readline-dir=$rvm_path/usr

这导致了一些错误,特别是在尝试bundle install时:

  

未初始化的常量Gem :: SilentUI

事实证明,这是由于捆绑器的旧版本,并且它摆脱了它:

gem install bundler

答案 1 :(得分:2)

我为我找到了解决方案,需要重新编译readline。现在我可以输入非ASCII字符了!

因为我正在使用rvm,所以我发现这篇文章教你如何在rvm下重新编译readline。 http://rvm.beginrescueend.com/packages/readline/

对于没有使用rvm的人,也许您可​​以关注此帖并试一试: http://henrik.nyh.se/2008/03/irb-readline

顺便说一句,ruby-1.9.2 irb已经支持非ASCII输入。

答案 2 :(得分:1)

查看数组上的pack方法: http://ruby-doc.org/core-1.8.7/classes/Array.html#M000287

我想你想要:

[111 ,222, 333].pack(U*)

以下是关于Matz主题的有趣讨论:

http://www.ruby-forum.com/topic/134919