Hi.
When I try to use multibyte characters in my rails controller I get an
invalid multibyte characters error
(<rails_app>/app/controllers/admin_controller.rb:6: invalid multibyte
char (US-ASCII)).
Here is my controller:
contoller AdminController < ApplicationController
def read
@title = ‘Заголовок Ñтраницы’
end
end
Here is my haml template extraction:
…
%title= @title
…
After I start the WEBrick server and go to
http://localhost:3000/admin/read I get the error. However, if I set #
encoding: utf-8 on top of the controller file the error disappear.
The question is how can I “officially” correct this error? How can I
maintain Rails to proper multibyte characters handling?
When I try to use multibyte characters in my rails controller I get an
invalid multibyte characters error
(<rails_app>/app/controllers/admin_controller.rb:6: invalid multibyte
char (US-ASCII)).
After I start the WEBrick server and go to
http://localhost:3000/admin/read I get the error. However, if I set #
encoding: utf-8 on top of the controller file the error disappear.
The question is how can I “officially” correct this error? How can I
maintain Rails to proper multibyte characters handling?
Is there a solution to this in 2010?
Fernando P. wrote in post #923012:
When I try to use multibyte characters in my rails controller I get an
invalid multibyte characters error
(<rails_app>/app/controllers/admin_controller.rb:6: invalid multibyte
char (US-ASCII)).
After I start the WEBrick server and go to
http://localhost:3000/admin/read I get the error. However, if I set #
encoding: utf-8 on top of the controller file the error disappear.
The question is how can I “officially” correct this error? How can I
maintain Rails to proper multibyte characters handling?
Is there a solution to this in 2010?
Self-reply: is there a solution to this in 2011?
I am running Rails 3.0.3 with Ruby 1.9.2 and it still fucks up.
I see this:
$ ruby -e ‘puts Encoding.find(“locale”)’
ASCII-8BIT
How to set the proper locale/encoding?
From that url:
"Ruby 1.9 can now properly read source code files encoded in formats
other than ASCII, as long as you declare it:
coding: utf-8"
Don’t tell me I have to put that in every file of my apps?
Some more configuration to escape error:
- Make sure 'config.encoding = "utf-8"' is there in application.rb
file.
- Make sure you are using ‘mysql2’ gem
- Putting ‘# encoding: utf-8’ on top of rake file.
- Above ‘::Application.initialize!’ line in environment.rb
file, add following two lines:
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
Thanks
Ritesh Kumar