Élimination des accents dans les bases de données MySQL
Pour améliorer la fonctionnalité de saisie semi-automatique des noms de lieux avec des accents, il est essentiel de supprimer ces accents pour garantir le succès enregistrement de la récupération même lorsque les utilisateurs saisissent des noms sans accents.
MySQL propose une solution à ce problème grâce au classement. En définissant un classement approprié pour la colonne contenant les noms de lieux, la base de données peut naturellement comparer la valeur accentuée dans le champ à son équivalent non accentué.
Par exemple, considérons les instructions MySQL suivantes :
mysql> SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'; Query OK, 0 rows affected (0.00 sec) mysql> SELECT 'é' = 'e'; +------------+ | 'é' = 'e' | +------------+ | 1 | +------------+ 1 row in set (0.05 sec)
Dans cet exemple, le classement utf8_unicode_ci est défini, qui ne respecte pas la casse et ignore les accents. En conséquence, le caractère accentué é est considéré comme égal au caractère non accentué e.
En appliquant cette solution, les enregistrements peuvent être récupérés avec précision, que l'utilisateur tape ou non le nom du lieu avec des accents. Cela élimine le besoin d'une colonne séparée contenant des noms non accentués et rationalise le processus de récupération des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!