Invalid multibyte character error

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