Als u de tekenset van uw kolom (of tabel) kunt wijzigen, stelt u deze in op utf8_general_ci
(link naar handleiding
):
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8_general_ci;
Met deze tekenset (die niet hoofdlettergevoelig is, zoals aangegeven door _ci
), hebben tekens met accenten hetzelfde gewicht (de waarde die wordt gebruikt voor verzameling
), dus ze retourneren true wanneer ze met elkaar worden vergeleken (link naar handleiding
):
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)
Als alternatief, of als u de databaseconfiguratie niet op deze manier kunt wijzigen, kunt u een functie schrijven om tekens met accenten te vervangen door hun niet-geaccentueerde equivalenten (d.w.z. é
-> e
) en schrijf dit in een speciaal zoekveld (een full- tekst zoeken
veld wordt aanbevolen). Voer zoekopdrachten uit op dit veld en stuur het veld met accenten terug naar de toepassing.