2012-09-20 7 views
1

파이어 버드에서 생성 된 기존 데이터베이스를 사용하여 응용 프로그램을 개발하고 있습니다. 데이터베이스에서 일부 데이터를 가져 와서 뷰에 표시하려고하면 레일스에서 ​​해당 오류를 표시합니다. 데이터베이스에 charset이 없다는 것을 깨달았습니다. charset = none! 그래서 문제가 무엇인지, 문제를 해결하는 방법을 파악하려고합니다. 다른 응용 프로그램의 프로덕션 데이터베이스이기 때문에 데이터베이스를 수정할 수 없다는 것을 언급해야합니다. Rails는 쿼리가 물결 표시 (')가있는 데이터를 가져 오는 경우에만 오류를 표시하고, 그렇지 않으면 문제가 발생하지 않습니다. 이것은 내가 가진 오류입니다 :호환되지 않는 문자 인코딩 : UTF-8 및 ASCII-8BIT 레일 3 및 파이어 버드

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 난 당신이 나에게이 문제를 해결하는 데 도움 수 있기를 바랍니다 문제

와 필드입니다. 누락 된 정보가 있으면 알려주세요. 내가 미친거야! 고마워.

답변

2

이미 문제가 해결되었습니다. 방금 encode 함수를 행에 추가했습니다 : <td><%= abanit.ntercero %></td> 이제는 다음과 같이 보입니다 : <td><%= abanit.ntercero.encode('UTF-8', 'iso-8859-1') %></td>. 엔코 드가 ñ, ó, í, á 등을 포함한 라틴 알파벳을 인식하지 못하기 때문에 문제가 발생했습니다. 다른 사람들에게 도움이되기를 바랍니다. 감사!