Ако можете да промените набора от знаци на вашата колона (или таблица), тогава го задайте на utf8_general_ci
(връзка към ръководството
):
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8_general_ci;
С този набор от знаци (който не е чувствителен към малки и големи букви, както е обозначено с _ci
), знаците с ударение имат еднакво тегло (стойността, използвана за съпоставяне
), така че те връщат true, когато се сравняват един с друг (връзка към ръководството
):
mysql> SET NAMES 'utf8' COLLATE 'utf8_general_ci';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT 'a' = 'A', 'a' = 'À', 'a' = 'á';
+-----------+-----------+-----------+
| 'a' = 'A' | 'a' = 'À' | 'a' = 'á' |
+-----------+-----------+-----------+
| 1 | 1 | 1 |
+-----------+-----------+-----------+
1 row in set (0.06 sec)
Като алтернатива или ако не можете да промените конфигурацията на базата данни по този начин, можете да напишете функция за замяна на знаците с ударение с техните еквиваленти без ударения (т.е. é
-> e
) и напишете това в специално поле за търсене (full- текстово търсене
полето се препоръчва). Извършете търсене в това поле и върнете полето с ударение в приложението.