Как я могу ввести многобайтовые символы в консоли rails (или irb)? - PullRequest
7 голосов
/ 04 января 2011

ребята.Я разрабатываю китайское приложение с рельсами.Теперь я хочу ввести некоторые китайские иероглифы в консоль rails, но не могу этого сделать, либо в irb.

Есть ребята, у которых есть опыт решения этой проблемы?Буду признателен за вашу помощь!

Ответы [ 3 ]

5 голосов
/ 21 апреля 2011

Основываясь на ответе @ 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
2 голосов
/ 05 января 2011

Я нашел решение для меня, нужно пересобрать readline.И теперь я могу вводить не-ASCII символы!

Поскольку я использую rvm, я нашел эту статью, чтобы научить вас перекомпилировать readline под rvm.http://rvm.beginrescueend.com/packages/readline/

А для тех, кто не использует rvm, возможно, вы можете следовать этому посту и попробовать: http://henrik.nyh.se/2008/03/irb-readline

Кстати, ruby-1.9.2 irb уже поддерживаетввод без ASCII.

1 голос
/ 04 января 2011

Проверьте метод pack в массиве: http://ruby -doc.org / ядро-1.8.7 / классы / Array.html # M000287

Думаю, вы захотите:

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

Вот интересная дискуссия на эту тему с Мацем:

http://www.ruby -forum.com / тема / 134919

...