我正在使用在firebird中创建的现有数据库开发应用程序。当我尝试从数据库中获取一些数据并在视图中显示它时,rails会向我显示该错误。我意识到数据库没有charset,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
ntercero是问题的领域
我希望你能帮助我解决这个问题。如果缺少信息,请告诉我。我要疯了!谢谢你们。
答案 0 :(得分:2)
我已经解决了这个问题。我刚刚将编码函数添加到行<td><%= abanit.ntercero %></td>
,现在它看起来像这样:<td><%= abanit.ntercero.encode('UTF-8', 'iso-8859-1') %></td>
。问题出现了,因为编码不识别拉丁字母,包括:ñ,ó,í,á等。我希望这可以帮助其他人。谢谢!