2
votes

I'm using rails Version 3.0.3 and ruby Version 1.9.2p136 (2010-12-15) on Windows Vista. Script console gives me the following error:

Loading development environment (Rails 3.0.3) C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2116:in block in _rl_read_init_file': invalid byte sequence in UTF 8 (ArgumentError) from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2114:ineach_line' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2114:in _rl_read_init_file' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2080:inrl_read_init_file' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2500:in readline_initialize_everything' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:3726:inrl_initialize' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:4720:in readline' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/readline.rb:40:inreadline' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/input-method.rb:115:in gets' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:139:inblock (2 levels) in eval_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:273:in signal_status' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:138:inblock in eval_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in call' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:188:inbuf_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:103:in getc' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/slex.rb:205:inmatch_io' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/slex.rb:75:in match' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:286:intoken' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:262:in lex' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:233:inblock (2 levels) in each_top_level_statement' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in loop' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:229:inblock in each_top_level_statement' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in catch' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228:ineach_top_level_statement' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:155:in eval_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:70:inblock in start' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:69:in catch' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:69:instart' from C:/privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:44:in start' from C:/privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:8:instart' from C:/privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:23:in <top (required)>' from script/rails:6:inrequire' from script/rails:6:in `'

What can I do?

3
What do you have in 'script/rails'?Nerian
Did you try executing rails console? That is how to launch the console in Rails3 (i.e. you no longer use script commands).David Sulc
Yes the command I used is "rails console".user331471

3 Answers

0
votes

The problem is that Ruby1.9.2 has some issues with encoding... You have to check if your db driver is not giving error.. Does your server run? I recommend you to use Ruby187

0
votes

I got the same problem. I spent hours trying to fix it, rebuilding ruby, etc... For any setting of LANG= it was failing.

Finally I discovered in the code that it was during the load of the init file, that is, ~/.inputrc.

My $HOME in the problematic computer had not the ~/.inputrc... I tried to create an empty one and... worked!

So try touch ~/.inputrc

0
votes

I've just encountered this same issue with rails 4.1.1, and it turned out that my ~/.inputrc file was encoded using the ISO-8859-1 encoding. After converting the file to UTF-8, everything worked fine:

$ iconv --from-code=ISO-8859-1 --to-code=UTF-8 ~/.inputrc >out
$ mv out ~/.inputrc

To check what encoding your inputrc file is encoded with, use:

$ file --mime-encoding ~/.inputrc