私は部分文字列にマッチするLikeクエリを実行しようとしています。私はこれまでこれを使用していました:Rails LIKEクエリ(mysqlを使用)
products = Product.where("title LIKE ? OR description LIKE ?", "%#{params[:s_term]}%", "%#{params[:s_term]}%")
これはsqlite3(SQLインジェクションについては心配していません)でうまくいきました。 しかし、私はちょうどmysqlに切り替えました。クエリを実行すると、クエリーの '%'のためにEncoding :: UndefinedConversionError(ASCII-8BITから "UTF-8"への "\ xC2"): が返されます。私がこのエスケープをする方法や、私のどこのクエリでこれを行う方法がありますか?
このコマンドをレールコンソールで実行すると、生成された同等のsqlコマンドをここでコメントできますか?ありがとうございました –
私はコンソールでこれを取得します: 'Product Load(142.3ms)SELECT' products'。* FROM 'products' WHERE(タイトルはLIKE '%as%' OR説明LIKE '%as%') '私は何をしたいのですか?それは実際のコードからの問題になるだけです。 – Silvertail
コードベースから全く同じコードを実行すると、レールは 'Product Load(3.7ms)SELECT'製品 'を生成します。* FROM' products' WHERE(タイトルは%OR%LIKE '%as%') '、しかし、上記のエラーで戻ってくる! – Silvertail