相关疑难解决方法(0)

不兼容的字符编码:ASCII-8BIT和UTF-8

我使用Ruby 1.9.2和Rails 3.0.5

我有以下错误:

不兼容的字符编码:ASCII-8BIT和UTF-8

它与我认为的数据库无关.

错误是在视图中惹恼这一行(只是一个div haml调用):

#content
Run Code Online (Sandbox Code Playgroud)

全栈:

    ActionView::Template::Error (incompatible character encodings: ASCII-8BIT and UTF-8):
        21:                     -flash.each do |name, msg|
        22:                         =content_tag :div, msg, :id => "flash_#{name}"
        23:                         %div.clear                      
        24:                     #content                                        
        25:                         = yield
        26:             = render :partial => "layouts/grid_right" if render_grid_right?
        27:             = render :partial => "layouts/footer"
      app/views/layouts/application.html.haml:24:in `_app_views_layouts_application_html_haml___4380000789490545718_2180251300_2717546578298801795'
      actionpack (3.0.5) lib/action_view/template.rb:135:in `block in render'
      activesupport (3.0.5) lib/active_support/notifications.rb:54:in `instrument'
      actionpack (3.0.5) lib/action_view/template.rb:127:in `render'
      actionpack (3.0.5) lib/action_view/render/layouts.rb:80:in `_render_layout'
      actionpack (3.0.5) lib/action_view/render/rendering.rb:62:in `block in _render_template'
      activesupport (3.0.5) lib/active_support/notifications.rb:52:in `block …
Run Code Online (Sandbox Code Playgroud)

ruby haml ruby-on-rails ruby-on-rails-3

69
推荐指数
8
解决办法
11万
查看次数

不兼容的字符编码:Ruby 1.9中的ASCII-8BIT和UTF-8

我的Ruby 1.9和Rails 2.3.4出现以下错误.当用户提交非ASCII标准字符时会发生这种情况.

我阅读了很多在线资源,但似乎没有一个解决方案有效.

我尝试过使用(作为一些资源建议)

string.force_encoding('utf-8') 
Run Code Online (Sandbox Code Playgroud)

但它没有帮助.

任何想法如何解决这个问题?有没有办法在保存到数据库之前消除这些字符?或者,有没有办法让它们显示?

ruby-on-rails ruby-1.9

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

ruby-on-rails ×2

haml ×1

ruby ×1

ruby-1.9 ×1

ruby-on-rails-3 ×1