0

Ruby 1.9.2 및 레일 3.0.9 - 에 호환되지 않는 문자 인코딩 인 UTF-8 및 ASCII-8BIT 예외가 자주 발생합니다. thinking_sphinx 검색을 사용할 때 발생합니다.호환되지 않는 문자 인코딩 : UTF-8 및 ASCII-8BIT 및 thinking_sphinx

def result 
    #return page(1).per(1) #no any exceptions 
    return search('').page(1).per(1) #if I use this an exception is raised when i try to render partial 
end 

는이 메소드의 결과는 내가 ERB와 HAML 모두 사용하는 부분

render Trademarks.result 

에 사용된다 (화장 남자 사용되는 HTML을, 나는 HAML를 사용하는 것을 선호) 있지만 HAML에서 허용하는 것 추천.

나는 default_internal, external 및 기타 조언을했지만 결과는 없었습니다. 어떤 아이디어?

+0

trademark.excerpts.something을 사용할 때만 예외가 발생합니다. 문제의 원인이 여기에 있습니다. 강조 표시가 단어를 찾았을 때 발췌문이 호환되지 않는 기호를 추가했을 수 있습니까? 내가 여기에 문제를 만들었습니다. https://github.com/freelancing-god/thinking-sphinx/issues/262 –

답변

3

좋습니다, model_name.excerpts.somethingforce_encoding('utf-8')으로 사용하는 것은 UTF 문자열을 반환하지 않기 때문입니다.

+1

또한 'gem'riddle ', : git =>'git : // github.com/freelancing-god/riddle.git '에서 수정되었으며 다음 TS 릴리스에서 수정 될 예정입니다 . –

0

표준 activerecord 쿼리를 통해 결과를 반환하면 예외가 발생합니까?

데이터베이스에 utf-8이 유효하지 않은 경우 모델 문자열 속성의 인코딩이보기 인코딩과 충돌 할 수 있습니다.

+0

AR 쿼리에 문제가 없다고 이미 말했기 때문에. Trademark.page (1) .per (1) .to_sql은 "SELECT"상표입니다. * FROM'trademark' LIMIT 1 OFFSET 0 ". DB는 utf-unicode-ci로되어 있습니다. –