不兼容的字符编码:ASCII-8BIT和UTF-8和调试(params)

时间:2012-11-09 23:45:47

标签: ruby-on-rails ruby ruby-on-rails-3 character-encoding

每当我编辑用户的信息时,我都会收到此错误。 localhost告诉我这条线周围发生了错误...

<%= debug(params) if Rails.env.development? %>

参数返回...

{"utf8"=>"✓",
 "_method"=>"put",
 "authenticity_token"=>"hC/BQTSBodv+qlvhYnxJ4mqMl+w3G1FLwopxpbmsm/g=",
 "user"=>{"name"=>"jason",
 "email"=>"jason1",
 "password"=>"[FILTERED]",
 "password_confirmation"=>"[FILTERED]"},
 "commit"=>"Save changes",
 "id"=>"7"}

导致此错误的原因是什么?如何解决?

1 个答案:

答案 0 :(得分:2)

  1. 尝试在UTF-8友好编辑器中从头开始重新创建模板文件。
  2. config.encoding = "utf-8"放入application.rb文件中。
  3. 在您的environment.rb中添加此代码:

    Encoding.default_external = Encoding::UTF_8
    Encoding.default_internal = Encoding::UTF_8

  4. 如果您正在使用MySql,请使用&#34; mysql2&#34;宝石。

  5. # encoding: utf-8放在文件的顶部。