-
-
Save coldnebo/1184533 to your computer and use it in GitHub Desktop.
$ irb | |
ruby-1.9.2-p180 :001 > "“" | |
=> "“" | |
ruby-1.9.2-p180 :002 > "“".encoding | |
=> #<Encoding:UTF-8> | |
ruby-1.9.2-p180 :003 > "\“" | |
SyntaxError: (irb):7: invalid multibyte char (UTF-8) | |
(irb):7: invalid multibyte char (UTF-8) | |
from /local/rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>' |
opened an issue at ruby-core: http://redmine.ruby-lang.org/issues/5262
yay, issue is fixed in ruby 1.9.3!
Hi,
This issue is not yet fixed ! I am getting the same error message in 1.9.3p0.
[akshatha@localhost chiliproject]$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
[akshatha@localhost chiliproject]$ rails -v
Rails 2.3.14
Application: Chiliproject 3.0.0beta + haltr plugin
Processing InvoicesController#index (for 127.0.0.1 at 2012-01-07 00:19:57) [GET]
Parameters: {"controller"=>"invoices", "action"=>"index", "id"=>"test-project"}
Rendering template within layouts/haltr
Rendering invoices/index
Completed in 212ms (View: 76, DB: 13) | 200 OK [http://0.0.0.0/invoices/index/test-project]
Error during failsafe response: "\xE2" on US-ASCII
[2012-01-07 00:20:01] ERROR NoMethodError: undefined method each' for nil:NilClass /home/akshatha/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.1.3/lib/rack/utils.rb:324:in
initialize'
/home/akshatha/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.1.3/lib/rack/utils.rb:318:in new' /home/akshatha/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.1.3/lib/rack/utils.rb:318:in
new'
/home/akshatha/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.1.3/lib/rack/content_length.rb:14:in call' /home/akshatha/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.1.3/lib/rack/handler/webrick.rb:48:in
service'
/home/akshatha/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpserver.rb:138:in service' /home/akshatha/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpserver.rb:94:in
run'
/home/akshatha/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
Thanks
Nagaraj
Just checked it in irb... it's fixed in Ruby at least:
ruby-1.9.3-p0 :001 > "“"
=> "“"
ruby-1.9.3-p0 :002 > "“".encoding
=> #<Encoding:UTF-8>
ruby-1.9.3-p0 :003 > "\“"
=> "“"
What do you get if you use irb as above?
Hi Nagaraj, your irb session shows that the underlying problem with escaped UTF-8 has been fixed as I originally reported it. The higher level error you are seeing "Error during failsafe" is a rack or Rails error in your application and likely has a different root cause.
Good one..Clear explanation..Thanks to the author..
i've wrote an article on the RUBY INVALID MULTI BYTE!
http://www.wikitechy.com/fix-error/ruby-invalid-multi-byte-character
Please visit :)
The original error context popped up in a rails view and was much harder to get any meaning from. Rails could have left in the caller() context from the original failsafe exception to help track things down, but the fault lies in multiple layers of parsing and exception transformation: