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 Perez 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 '<AppName>::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