Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't enter Umlauts in Ruby 1.9.3 IRB

I am experiencing very strange behavior in Ruby 1.9.3's IRB with Mac OS 10.7.3 When I try to enter an Umlaut, it's escaped in the prompt and looks like this (I entered "ü" on the keyboard)

irb(main):001:0> "\U+FFC3\U+FFBC"

What's super strange is this:

irb(main):001:0> "\U+FFC3\U+FFBC".length
=> 0

Of course, the character isn't displayed either:

irb(main):001:0> "\U+FFC3\U+FFBC"
=> ""

Does anyone know what's going on here or how to fix this?

like image 517
Jan Avatar asked Apr 30 '12 15:04

Jan


3 Answers

Victor Moroz didn't quite give the definitive answer but his link led me to a solution (thx!):

I forgot to mention:

  • Im running homebrew
  • I built ruby using ruby-build and this recipe (1.9.3-p125-perf, with falcon patches)

What I then did to solve this problem in my case was to recompile, this time pointing ruby to a more recent version of readline (6.2.2 in my case) that I installed with homebrew.

The steps it took were:

$ brew install readline
$ export CPPFLAGS=-I/usr/local/Cellar/readline/6.2.2/include
$ export LDFLAGS=-L/usr/local/Cellar/readline/6.2.2/lib/
$ curl https://raw.github.com/gist/1688857/rbenv.sh | sh && rbenv global 1.9.3-p125-perf
like image 88
Jan Avatar answered Nov 11 '22 16:11

Jan


I ran across this problem as well, but my Ruby was built with rvm rather than ruby-build. I'd also previously used Homebrew on Mountain Lion to run other package installers, and among them got Readline 6.2.5 or something like that. This turns out to be the cause of this issue for me. So here's the fix:

From the RVM site:

If you have an error when compiling pertaining to readline, you may need to attempt installing with the procedure defined below.

$ rvm pkg install readline

$ rvm reinstall 1.9.2 --with-readline-dir=$rvm_path/usr

Note that this error occurs most often when having a MacPorts, Fink, or Homebrew installed readline on your system.

Hope this helps someone else!

like image 23
Aaron Vegh Avatar answered Nov 11 '22 16:11

Aaron Vegh


This may help http://henrik.nyh.se/2008/03/irb-readline

UPDATE In fact on my Mac I have no problem with port version of Ruby, but original Mac OS version does have this problem (never used that one). So the easiest way is probably just to install Ruby from ports.

like image 36
Victor Moroz Avatar answered Nov 11 '22 18:11

Victor Moroz