アクセント付き地名をアクセントなしで自動補完する
データ管理の領域では、国際的な地名を扱うと、多くの場合課題が生じます。アクセントになります。ユーザーがアクセント記号なしでクエリを入力すると、データベース内で一致するレコードを見つけるのに問題が生じる可能性があります。
この問題に対処するには、アクセント記号に関係なく文字の同等性を保証する MySQL の機能である照合順序を利用することをお勧めします。関連する列に適切な照合順序を設定すると、アクセント付きの値とアクセントなしの値が比較中に等しいとみなされます。
このソリューションを MySQL に実装する方法は次のとおりです。
SET NAMES 'utf8' COLLATE 'utf8_unicode_ci';
このクエリは、現在のセッションで Unicode の大文字と小文字を区別しない比較 (utf8_unicode_ci) を使用する照合順序。その結果、アクセントは文字の等価性に影響しなくなりました。
説明のために、次の例を考えてみましょう。
SELECT 'é' = 'e';
utf8_unicode_ci 照合順序が適用されると、このクエリは 1 を返します。アクセント付き文字 'é' は、アクセントなしの文字 'e' と同等であることがわかります。
これにより、次のことが保証されます。オートコンプリート ウィジェットは、ユーザーがアクセント付きまたはアクセントなしのどちらで入力したかに関係なく、地名を簡単に検索して表示できます。
以上がMySQL でアクセント付き地名をアクセントなしで自動補完するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。