php - 在不考虑重音字母的情况下,在 MySQL 数据库表中查找的 SQL 查询是什么?

标签 php mysql sql

如标题。

在不考虑重音字母的情况下,在 MySQL 数据库表中查找的 SQL 查询是什么?

所以,如果我搜索“abcdè”,我会找到“abcde”

最佳答案

默认情况下,utf8 字符串会忽略重音符号,因为它们使用 utf8_general_ci 排序规则。

如果您不使用 utf8(为什么不呢?)那么您可能想使用 COLLATE 命令:

http://dev.mysql.com/doc/refman/5.0/en/charset-collate.html

 SELECT *
 FROM t1
 WHERE _latin1 'Müller' COLLATE latin1_german2_ci = k;

 SELECT *
 FROM t1
 WHERE k LIKE _latin1 'Müller' COLLATE latin1_german2_ci;

此外,您显然可以使用“SET NAMES”命令来更改比较:

MySQL diacritic insensitive search (spanish accents)

关于php - 在不考虑重音字母的情况下,在 MySQL 数据库表中查找的 SQL 查询是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7594720/

相关文章:

php - Firebase 如何发送主题通知

php - 父类构造函数调用错误?

php - 创建多值搜索,与 SQL 作斗争

php - 在 PHP 中返回空字符串

sql - 在查询的选择中传递参数

php - 需要以1000个为一批发送通知

javascript - 如何防止预设的 INPUT 值被更改?

mysql - 获取不同列值的最新条目

SQL使用他们的DOB计算离生日的天数

sql - 加入不处理 information_schema.tables 与用户表