在 MySQL 中使用排序规则进行重音敏感搜索
在 MySQL 中进行全文搜索时,可能需要考虑字符重音敏感性。在这种情况下,您在尝试区分重音单词和非重音单词时可能会遇到挑战,如问题中提供的示例所示。
要解决此问题并确保搜索对重音敏感,您可以两个选项:
声明重音敏感排序规则:
修改相关字段的排序规则以使用二进制排序规则,例如 utf8_bin。这会将 UTF-8 编码的字节与原始数据进行比较,从而导致区分重音。
ALTER TABLE words ALTER COLUMN word VARCHAR(10) COLLATE utf8_bin;
在查询中使用 Collate Clause:
如果您的搜索通常不区分重音,但您需要特定查询的例外,您可以将 COLLATE 子句附加到有问题的字段您的查询:
SELECT * FROM `words` WHERE `word` = 'abád' COLLATE utf8_bin;
MySQL 8.0 及未来版本的其他注意事项:
以上是如何在 MySQL 中执行区分重音的全文搜索?的详细内容。更多信息请关注PHP中文网其他相关文章!