0

Ruby 1.9.2とレール3.0.9 - に互換性のない文字エンコーディングUTF-8とASCII-8BITの例外があります。 thinking_sphinx検索を使用すると発生します。互換性のない文字エンコーディング:UTF-8とASCII-8BITとthinking_sphinx

そして、このメソッドの結果は、私は(化粧男は、HTMLを使用して、私はHAMLを使用することを好む)ERBとHAMLの両方を使用して、部分的

render Trademarks.result 

に使用されている

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 

、それはHAMLによって許可されています参照。

私は、マジックのコメント、default_internal、外部およびその他のアドバイスを試しましたが、結果はありません。何か案は?

+0

例外は、trademark.excerpts.somethingを使用した場合にのみ発生します。それは、ここに問題の原因があるようです。ハイライトが単語を見つけたときに、抜粋で互換性のないシンボルが追加された可能性はありますか?私はここに問題を作成しましたhttps://github.com/freelancing-god/thinking-sphinx/issues/262 –

答えて

3

OK解決策は、UTF文字列を返さないため、とforce_encoding('utf-8')を使用することです。

+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 "商標" LIMIT 1 OFFSET 0 "です。 DBはutf-unicode-ciにあります –

関連する問題