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

发布于 2024-10-10 02:11:36 字数 102 浏览 6 评论 0原文

伙计们。我正在用rails开发一个中文应用程序。现在我想在rails控制台中输入一些汉字,但在irb中都无法做到这一点。

有哪位大佬有解决这个问题的经验吗?我将感谢您的帮助!

guys. I am developing a Chinese application with rails. Now I want to input some Chinese characters in rails console but cannot do that, either in irb.

Any guys who have the experience to solve this problem? I would appreciate your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

可遇━不可求 2024-10-17 02:11:36

根据 @Jimmy-Huang 的回答,以下是我使用 rvm 和 ruby​​ 1.9.2 在 Mac Leopard 上遵循的步骤:

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

这导致了一些错误,特别是在尝试捆绑安装时:

未初始化的常量 Gem::SilentUI

事实证明,这是由于旧版本的捆绑程序造成的,这将消除它:

gem install bundler

Based on @Jimmy-Huang's answer, these are the steps I followed on Mac Leopard using rvm and ruby 1.9.2:

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

That resulted in some errors, particularly when trying bundle install:

uninitialized constant Gem::SilentUI

It turned out that's due to an older version of bundler and this gets rid of it:

gem install bundler
自演自醉 2024-10-17 02:11:36

我找到了适合我的解决方案,它需要重新编译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 输入。

I found the solution for me, it need to re-compile the readline. And now I can input non-ASCII characters!

Because I am using rvm, so I found this article to teach you how to re-compile readline under rvm. http://rvm.beginrescueend.com/packages/readline/

And for someone who is not using rvm, maybe you can follow this post and have a try:
http://henrik.nyh.se/2008/03/irb-readline

By the way, ruby-1.9.2 irb already supports non-ASCII inputing.

初相遇 2024-10-17 02:11:36

检查数组上的 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

Check out the pack method on array:
http://ruby-doc.org/core-1.8.7/classes/Array.html#M000287

I think you'd want:

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

Here is an interesting discussion on the subject had with Matz:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文