ruby on rails language problem "invalid byte sequence in GBK"
- by user357203
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.