1

我正在使用在 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 是有问题的领域

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

4

1 回答 1

2

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

于 2012-09-21T04:40:17.053 回答