アクセント記号付きの文字を使用する言語で多く働いています。 é。私は "utf_8_bin"エンコードされたテーブルにコンテンツを格納し、アクセント付き文字もHTMLエンティティに変換します。PHP/SQL:データベースに格納されているHTMLエンティティを検索する
例えば、 "Términator"はデータベース内に "T & eacute; rminator"(オンラインでのレンダリングを停止するためのスペースがあった)として保存されます。
ユーザーが "términator"を検索すると、クエリもHTMLエンティティに変換され、SQLクエリは "lcase"の引数の両側に "lowercase"するため、一致が見つかります。
私が今問題にしているのは、クライアントが "Términator"と一致する結果を得るために "Terminator"( "e"のアクセントなし)を検索できるようにすることです。
私は自分のデータを保存する方法を変更しないことをお勧めします。特に、HTMLエンティティを保存すると他の多くの問題が解決されるためです。だから私は、より簡単な解決策があるかどうかを尋ねている。ありがとう!あなたが使用
との素敵な例は次のような演算子を使用してみましたか?また、その要件を満たすためにデータを二重に保存する必要があります。 1つは現状で、もう一度はアクセントなどで削除されました。 –
おそらく両方のlevenshteinを比較するか、それと似たようなことがあるかもしれません...このプロジェクトのために大きなデータベースを用意する予定ですか? – Shane
@SloanThrasher - like演算子を使用しています:lcase( 'T&eacuterminator')はlcase( '%content%')のようになります。内容は実際には完全な記事です。データを二重に格納することは、かなり実現可能な解決策です - 私は別の解決策が見つからない場合、そのことを検討します。ありがとう。 – NadeemH