当前位置: 首页 > 面试题库 >

如何在MySql中进行口音敏感搜索

隆扬
2023-03-14
问题内容

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

阿巴德
阿巴德

我正在使用如下查询:

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

查询结果给出两个词:

阿巴德
阿巴德

有没有办法表明我只希望MySQL找到带重音的单词?我希望查询仅返回

阿巴德

我也尝试过以下查询:

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

它没有给我任何结果。感谢您的帮助。


问题答案:

如果您对该字段的搜索始终对重音敏感,则将该字段的排序规则声明为utf8_bin(这将比较utf8编码的字节是否相等),或使用特定于语言的排序规则来区分重音和un
-重音字符。

col_name varchar(10) collate utf8_bin

如果搜索通常对重音不敏感,但是您想对此搜索例外,请尝试;

WHERE col_name = 'abád' collate utf8_bin


 类似资料:
  • 问题内容: 有什么方法可以使搜索查询的重音不敏感吗? 列和表的排序规则是utf8_polish_ci,我不想更改它们。 例句:toruń 它找不到“toruń”。我怎样才能做到这一点? 问题答案: 您可以在运行时在sql查询中更改排序规则, 但是请注意,在运行时即时更改排序规则会放弃mysql使用索引的可能性,因此大型表的性能可能很糟糕。 或者,您可以将列复制到另一列,例如,但是更改其排序规则。这

  • 问题内容: 我有一个MySQL数据库,其单词包含西班牙语(áéíóú)的重音。我想知道是否有任何方法可以进行变音符号不敏感搜索。例如,如果我搜索“ lapiz”(不带重音),我想从数据库中获取包含“lápiz”一词的结果。我当前执行查询的方式如下: 这是一家在线商店,所以我不知道人们会搜索什么……“ lapiz”只是一个例子。 替代文字http://www.freeimagehosting.net

  • 问题内容: 我是Elasticsearch新手。 可以说我们有一个这样的类: 我们有2个文档,其名称分别为 “Ayşe” 和 “ Ayse” 。 现在, 我希望能够存储带有重音符号的名称,但是当我搜索时希望能够将不重音符号查询的结果作为重音敏感结果 。 例如:当我搜索 “ Ayse” 或 “Ayşe”时 ,它应同时返回存储的 “Ayşe”和“ Ayse” (带有重音符号)。 现在,当我搜索“ Ay

  • 我正在使用Hibernate Search/Lucene Intégration开发一个J2E应用程序。我索引文档(和其他实体),并希望对其进行不区分重音的搜索(内容和类的字段)。 这样做好吗?是否没有param或conf属性让FrenchAnalyzer忽略重音? 谢谢

  • 问题内容: 所需结果: 在MySQL中具有重音敏感的主键。 我有一个独特的单词表,所以我将单词本身用作主键(顺便说一句,如果有人可以给我一些建议,我不知道它是否是一个好的设计/实践)。 我需要使该字段具有重音(为什么不区分大小写),因为它必须区分法语动词“ demander”的两个不同的变体,例如和。我在数据库中存储重音词没有任何问题。我只是无法插入没有重音时相同的两个重音字符字符串。 错误 :

  • 我正在为我工作的一家公司申请工作。我有它来防止SQL注入和一些XSS技术。我的主要问题是保护敏感信息的安全,比如SSN和地址,因为公司需要它来为推销员制作1099表格。 我不知道如何做这部分,但是我应该加密所有内容,然后在它进入MySQL数据库时对其进行解密吗?