【问题标题】:incompatible character encodings: UTF-8 and ASCII-8BIT rails 3 and firebird不兼容的字符编码:UTF-8 和 ASCII-8BIT rails 3 和 firebird
【发布时间】:2012-09-20 03:47:15
【问题描述】:

我正在使用在 firebird 中创建的现有数据库开发应用程序。当我尝试从数据库中获取一些数据并将其显示在视图中时,rails 会向我显示该错误。我意识到数据库没有字符集,charset = none!所以,我试图弄清楚问题是什么以及如何解决它。不得不提的是,不能修改数据库,因为它是另一个应用程序的生产数据库。 Rails 仅在查询使用波浪号 (´) 获取数据时显示错误,否则不会出现问题。这是我得到的错误:

Encoding::CompatibilityError in People#index

Showing /home/guillermo/Proyecto/dcerp/app/views/people/index.html.erb where line #57 raised:

incompatible character encodings: UTF-8 and ASCII-8BIT
Extracted source (around line #57):

54:     <% @abanits.each do |abanit| %>
55:       <tr>
56:         <td><%= abanit.init %></td>
57:         <td><%= abanit.ntercero %></td>
58:       </tr>
59:     <% end %>
60:   </tbody>
Rails.root: /home/guillermo/Proyecto/dcerp

intercero 是有问题的字段

希望你能帮我解决这个问题。如果缺少信息,请告诉我。我要疯了!从现在开始感谢。

【问题讨论】:

    标签: ruby-on-rails-3 encoding ruby-1.9 firebird2.5


    【解决方案1】:

    我已经解决了这个问题。我刚刚在行中添加了编码函数:&lt;td&gt;&lt;%= abanit.ntercero %&gt;&lt;/td&gt;,现在它看起来像这样:&lt;td&gt;&lt;%= abanit.ntercero.encode('UTF-8', 'iso-8859-1') %&gt;&lt;/td&gt;。出现问题是因为编码无法识别拉丁字母,包括:ñ,ó,í,á等。我希望这可以帮助其他人。谢谢!

    【讨论】:

      猜你喜欢
      • 2011-05-26
      • 2011-12-14
      • 1970-01-01
      • 2011-07-14
      • 2011-05-10
      • 1970-01-01
      • 2011-10-17
      • 1970-01-01
      • 2014-09-29
      相关资源
      最近更新 更多