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

MySQL变音符号不敏感搜索(西班牙口音)

贡英华
2023-03-14
问题内容

我有一个MySQL数据库,其单词包含西班牙语(áéíóú)的重音。我想知道是否有任何方法可以进行变音符号不敏感搜索。例如,如果我搜索“
lapiz”(不带重音),我想从数据库中获取包含“lápiz”一词的结果。我当前执行查询的方式如下:

$result = mysql_query("SELECT * FROM $lookuptable WHERE disabled = '0' AND name LIKE '%$q%' OR productCode LIKE '%$q%' LIMIT $sugglimit");

这是一家在线商店,所以我不知道人们会搜索什么……“ lapiz”只是一个例子。

替代文字http://www.freeimagehosting.net/uploads/0e7c2ae7d5.png

谢谢!


问题答案:

字符集和排序规则,不是我的最爱,但它们确实起作用:

mysql> SET NAMES latin1;
mysql> SELECT 'lápiz' LIKE 'lapiz';
+-----------------------+
| 'lápiz' LIKE 'lapiz' |
+-----------------------+
|                     0 | 
+-----------------------+
1 row in set (0.01 sec)

mysql> SET NAMES utf8;
mysql> SELECT 'lápiz' LIKE 'lapiz';
+-----------------------+
| 'lápiz' LIKE 'lapiz' |
+-----------------------+
|                     1 | 
+-----------------------+


mysql> SET NAMES latin1;
mysql> SELECT _utf8'lápiz' LIKE _utf8'lapiz' ;
+---------------------------------+
| _utf8'lápiz' LIKE _utf8'lapiz' |
+---------------------------------+
|                               1 | 
+---------------------------------+

在手册中读的不错的一章:字符集支持



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

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

  • 问题内容: 我有一个带有utf8一般ci排序规则的MySQL表。在表中,我可以看到两个条目: 阿巴德 阿巴德 我正在使用如下查询: 查询结果给出两个词: 阿巴德 阿巴德 有没有办法表明我只希望MySQL找到带重音的单词?我希望查询仅返回 阿巴德 我也尝试过以下查询: 它没有给我任何结果。感谢您的帮助。 问题答案: 如果您对该字段的搜索始终对重音敏感,则将该字段的排序规则声明为utf8_bin(这将

  • 问题内容: 我在页面上添加了一个简单的排序。这个想法是搜索产品。这些产品是用西班牙语编写的,带有口音。例如:“Jamón”。 这是我的代码: 我唯一的问题是您必须输入“Jamón”才能找到产品“Jamón”。我想要的是更加灵活,如果用户键入“ Jamon”,则结果必须包含“Jamón”。 如何使用角度过滤器进行搜索而忘记重音符号?任何想法? 提前致谢。 问题答案: 您需要创建一个过滤器功能(或完整

  • 我使用HtmlCleaner库来解析/转换java中的HTML文件。 似乎无法处理像“Áák NUÍíNU NU NU NU NU”这样的西班牙语字符 我可以在HtmlCleaner中设置任何属性来处理此解决方案或任何其他解决方案吗?这是我用来调用它的代码:

  • 绝影是在宾馆里首先见到BOSSLiu的,见面第一句话他正要问:“BOSS啊,最近有啥研究成果没有?拿出来分享分享。”哪晓得这次被BOSSLiu抢了先,只不过这次他万分激动地说:“BOSS啊,我发现现在金子遍地都是,剩下的就是如何去拣了!” BOSSLiu一改往日的习惯,这反而让绝影不知如何应对了。比如写程序,以前习惯用_snprintf,现在突然又冒出个_snprintf_s来,一时间竟不知道从哪