ruby on rails language problem "invalid byte sequence in GBK"

Posted by user357203 on Stack Overflow See other posts from Stack Overflow or by user357203
Published on 2010-06-04T19:30:16Z Indexed on 2010/06/16 19:42 UTC
Read the original article Hit count: 439

Filed under:

This is definitely a language issue, both of our code and our database contains Chinese characters.

**This is my environment:

About your application's environment Ruby version 1.9.1 (i386-mingw32) RubyGems version 1.3.5 Rack version 1.0 Rails version 2.3.5 Active Record version 2.3.5 Active Resource version 2.3.5 Action Mailer version 2.3.5 Active Support version 2.3.5 Application root C:/path_to_my_root Environment development Database adapter mysql Database schema version 20100327010640

**This is my localhost;3000 after running my ruby server:

ArgumentError in HomeController#construction

invalid byte sequence in GBK

RAILS_ROOT: C:/path_to_my_root
Application Trace | Framework Trace | Full Trace

C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/action_view/
template_error.rb:43:in `split'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/action_view/
template_error.rb:43:in `source_extract'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/action_view/
template_error.rb:86:in `compute_backtrace'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/action_view/
template_error.rb:11:in `initialize'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/action_view/
template.rb:212:in `new'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/action_view/
template.rb:212:in `rescue in render_template'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/action_view/
template.rb:205:in `render_template'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/action_view/
base.rb:265:in `render'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/action_view/
base.rb:352:in `_render_with_layout'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/action_view/
base.rb:262:in `render'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/base.rb:1250:in `render_for_file'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/base.rb:951:in `render'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/benchmarking.rb:51:in `block in
render_with_benchmark'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/activesupport-2.3.5/lib/
active_support/core_ext/benchmark.rb:17:in `block in ms'
C:/Ruby19/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/activesupport-2.3.5/lib/
active_support/core_ext/benchmark.rb:17:in `ms'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/benchmarking.rb:51:in `render_with_benchmark'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/mime_responds.rb:135:in `block in custom'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/mime_responds.rb:179:in `call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/mime_responds.rb:179:in `block in respond'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/mime_responds.rb:173:in `each'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/mime_responds.rb:173:in `respond'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/mime_responds.rb:107:in `respond_to'
C:/Users/Howard/Documents/local/vjoin/app/controllers/
home_controller.rb:53:in `construction'
.....
C:/Ruby19/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/
methodoverride.rb:24:in `call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/params_parser.rb:15:in `call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/session/cookie_store.rb:93:in `call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/failsafe.rb:26:in `call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/lock.rb:11:in
`block in call'
:8:in `synchronize'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/lock.rb:11:in
`call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/dispatcher.rb:114:in `block in call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/reloader.rb:34:in `run'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/actionpack-2.3.5/lib/
action_controller/dispatcher.rb:108:in `call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/rails/rack/
static.rb:31:in `call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/urlmap.rb:46:in
`block in call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in
`each'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in
`call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.5/lib/rails/rack/
log_tailer.rb:17:in `call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/
content_length.rb:13:in `call'
C:/Ruby19/lib/ruby/gems/1.9.1/gems/rack-1.0.1/lib/rack/handler/
webrick.rb:50:in `service'
C:/Ruby19/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
C:/Ruby19/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
C:/Ruby19/lib/ruby/1.9.1/webrick/server.rb:183:in `block in
start_thread'

Request

Parameters:

None

Show session dump

Response

Headers:

{"Cache-Control"=>"no-cache",
"Content-Type"=>"text/html"}

**What should I do? I tried to search online, didn't find much. The only thing I found was something like putting the following into application_controller:

before_filter :set_charset, :set_locale 
def set_charset
  response.headers["Content-Type"] = "text/html; charset=utf-8"
  WIN32OLE.codepage = WIN32OLE::CP_UTF8 end

but this still doesn't work. I am new to ruby on rails, so don't know much about it.

Thanks for your help.

© Stack Overflow or respective owner

Related posts about ruby-on-rails