MySQL でアクセントを区別する検索に照合順序を使用する
MySQL で全文検索を実行する場合、文字のアクセントを考慮する必要がある場合があります。感度。この状況では、質問に示されている例で示されているように、アクセントのある単語とアクセントのない単語を区別しようとすると問題が発生する可能性があります。
この問題に対処し、検索でアクセントが区別されるようにするには、次のようにします。 2 つのオプション:
アクセントを区別する宣言照合順序:
utf8_bin などのバイナリ照合順序を使用するように、問題のフィールドの照合順序を変更します。これにより、UTF-8 でエンコードされたバイトが生データとして比較され、アクセントが区別されます。
ALTER TABLE words ALTER COLUMN word VARCHAR(10) COLLATE utf8_bin;
クエリで Collate 句を使用する:
通常、検索ではアクセントが区別されないが、特定のクエリに対して例外が必要な場合は、COLLATE 句をクエリ内の問題のあるフィールド:
SELECT * FROM `words` WHERE `word` = 'abád' COLLATE utf8_bin;
MySQL 8.0 および将来のバージョンに関する追加の考慮事項:
以上がMySQL でアクセントを区別した全文検索を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。