怎么在 MySql 中进行口音敏感搜索

本教程将介绍如何在 MySql 中进行口音敏感搜索的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

怎么在 MySql 中进行口音敏感搜索 教程 第1张

问题描述

我有一个带有 utf8 通用 ci 排序规则的 MySQL 表.在表格中,我可以看到两个条目:

阿巴德
阿巴德

我正在使用如下所示的查询:

SELECT *  FROM `words` WHERE `word` = 'abád'

查询结果给出两个词:

阿巴德
阿巴德

有什么办法表明我只想让 MySQL 找到重音词?我希望查询只返回

阿巴德

我也试过这个查询:

SELECT *  FROM `words` WHERE BINARY `word` = 'abád'

它没有给我任何结果.谢谢你的帮助.

推荐答案

如果您对该字段的搜索总是区分重音,则将该字段的排序规则声明为 utf8_bin(这将比较 utf8-encoded bytes) 或使用特定于语言的排序规则来区分重音字符和非重音字符.

col_name varchar(10) collate utf8_bin

如果搜索通常不区分重音,但您想为此搜索设置例外,请尝试;

WHERE col_name = 'abád' collate utf8_bin

好了关于怎么在 MySql 中进行口音敏感搜索的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。