Archives de la liste a​i​d​e​@p​a​h​e​k​o​.c​l​o​u​d​

SQL: collation non sensible aux accents

nicolas.lips at laposte.net via aide

28/06/2023 19:20:22

‌Bonjour à tous,

Ma question concerne l'API permettant de faire une requête SQL.
Je constate que si je recherche un membre ayant un accent dans son nom sans préciser les
accents dans le filtre, le résultat est vide.

Exemple:
j'ai un membre dont le nom est "Jérôme"
j'execute la requête:
SELECT * FROM membres WHERE membres.nom = 'Jerome'
=> aucun résultat

Pourtant lorsque je fais cette recherche depuis la page des membres, le membre
"Jérôme" est bien trouvé.

Est-ce qu'il y a moyen d'avoir la liste des collation définies ? Et que celle
ci soit dans la doc (comme la liste des tables, index... etc)

Merci

Nicolas 
 

SQL: collation non sensible aux accents

BohwaZ/Paheko

28/06/2023 23:04:22

> Ma question concerne l'API permettant de faire une requête SQL.
> Je constate que si je recherche un membre ayant un accent dans son
> nom sans préciser les accents dans le filtre, le résultat est vide.
> 
> Exemple:
> j'ai un membre dont le nom est "Jérôme"
> j'execute la requête:
> SELECT * FROM membres WHERE membres.nom = 'Jerome'
> => aucun résultat  

Jusque là c'est logique :)

> Pourtant lorsque je fais cette recherche depuis la page des membres,
> le membre "Jérôme" est bien trouvé.
> 
> Est-ce qu'il y a moyen d'avoir la liste des collation définies ? Et
> que celle ci soit dans la doc (comme la liste des tables, index...
> etc)

Tu peux utiliser la collation U_NOCASE (pour unicode no case), mais
dans la 1.3 il existe une table de recherche spécifique pour fluidifier
les requêtes : users_search.

La liste des tables est dans l'onglet "SQL" des fonctions avancées de
la config :)

SQL: collation non sensible aux accents

nicolas.lips at laposte.net via aide

29/06/2023 00:06:05

M‌erci pour ta réponse mais cela ne marche pas.
U_NOCASE résout bien le problème des majuscule mais pas celui des accents.

En regardant le code source je vois que la custom fonction "unicode_like" est
définie mais impossible de l'utiliser.

Je suis sur la version 1.2.9

 
 

De : "BohwaZ/Paheko"
A : aide@paheko.cloud
Envoyé: mercredi 28 Juin 2023 23:04
Objet : Re: [Paheko] SQL: collation non sensible aux accents
 
> Ma question concerne l'API permettant de faire une requête SQL. > Je
constate que si je recherche un membre ayant un accent dans son > nom sans préciser
les accents dans le filtre, le résultat est vide. > > Exemple: > j'ai un
membre dont le nom est "Jérôme" > j'execute la requête: > SELECT *
FROM membres WHERE membres.nom = 'Jerome' > => aucun résultat Jusque là
c'est logique :) > Pourtant lorsque je fais cette recherche depuis la page des
membres, > le membre "Jérôme" est bien trouvé. > > Est-ce qu'il
y a moyen d'avoir la liste des collation définies ? Et > que celle ci soit dans
la doc (comme la liste des tables, index... > etc) Tu peux utiliser la collation
U_NOCASE (pour unicode no case), mais dans la 1.3 il existe une table de recherche
spécifique pour fluidifier les requêtes : users_search. La liste des tables est dans
l'onglet "SQL" des fonctions avancées de la config :) -- Liste
d'entraide des utilisateurs de Paheko
https://paheko.cloud/

Pour se désinscrire : https://paheko.cloud/entraide
Archives : https://admin.kd2.org/lists/aide@paheko.cloud/archives/

SQL: collation non sensible aux accents

BohwaZ/Paheko

29/06/2023 13:27:09

> M‌erci pour ta réponse mais cela ne marche pas.
> U_NOCASE résout bien le problème des majuscule mais pas celui des
> accents.
> 
> En regardant le code source je vois que la custom fonction
> "unicode_like" est définie mais impossible de l'utiliser.

Merci du retour, j'ai corrigé le souci, ça sera dans la prochaine
version, le fix est déjà sur paheko.cloud.

Tu peux utiliser LIKE plutôt que = en attendant :

SELECT * FROM membres WHERE nom LIKE 'jerome';

SQL: collation non sensible aux accents

PC Chevaux

29/06/2023 16:33:20

Bonjour,

Personnellement, je saisis tout en majuscule (sauf l'adresse mail) pour
éviter ce genre de problème.

Pascal

Le jeu. 29 juin 2023 à 13:32, BohwaZ/Paheko <bohwaz@paheko.cloud> a écrit :

> > M‌erci pour ta réponse mais cela ne marche pas.
> > U_NOCASE résout bien le problème des majuscule mais pas celui des
> > accents.
> >
> > En regardant le code source je vois que la custom fonction
> > "unicode_like" est définie mais impossible de l'utiliser.
>
> Merci du retour, j'ai corrigé le souci, ça sera dans la prochaine
> version, le fix est déjà sur paheko.cloud.
>
> Tu peux utiliser LIKE plutôt que = en attendant :
>
> SELECT * FROM membres WHERE nom LIKE 'jerome';
>
> --
> Liste d'entraide des utilisateurs de Paheko
> https://paheko.cloud/
>
> Pour se désinscrire : https://paheko.cloud/entraide
> Archives : https://admin.kd2.org/lists/aide@paheko.cloud/archives/
>