Recherche sensible à la casse

Bonjour à tous,

J’ai une petite question concernant l’utilisation de la recherche. Je me rends compte que lorsque je recherche un tiers, la casse doit être respectée.

Par exemple j’ai 3 tiers nommés comme ci-dessous :
Nom e-mail
Jean Dupont [email protected]
Joe Dupont
Pierre Dupont

Si je cherche (et que ce soit dans la liste des tiers ou dans la recherche rapide du theme eldy) :
« Dupont » , je vois bien les 3 noms apparaître.
« dupont » , j’arrive sur la fiche de Jean Dupont (car son e-mail contient la chaine « dupont » en minuscule)
« Joe » , je ne vois que Joe Dupont
« joe » , je ne vois aucune réponse

Au final, j’aimerais que respecter la casse ne soit pas nécessaire et donc avoir le même résultat pour « Dupont » ou « dupont » et « Joe » ou « joe »

Selon le message ci-dessous il semblerait que ce ne soit pas le fonctionnement normal de Dolibarr. faut-il faire un réglage en bdd?

Merci d’avance pour votre aide

Un petit up? personne n’a d’idées à ce sujet?

Merci d’avance!

Bonjour,

Je n’ai pas ce comportement.
Par exemple sur demo.dolibarr, si vous cherchez test, vous aurez bien « test » ou « Test » : Login @ 14.0.2

ça vient surement de l’interclassement de vos tables, une petite copie d’écran de votre phpmyadmin ?

Merci Ksar pour l’indice ! Je n’avais jamais cherché à comprendre le principe des jeux de caractères et les interclassements. Super intéressant ! :slight_smile:

Pour info j’ai réussi à régler le problème avec les commandes suivantes depuis la CLI :

USE dolibarrdb;
SELECT @@character_set_database, @@collation_database;

Pour me rendre compte que je n’étais pas en utf8mb4_unicode_ci, du coup j’ai modifié les colonnes des tables avec des requêtes de ce style :

...
ALTER TABLE dolibarrdb.llx_propaldet MODIFY label varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE dolibarrdb.llx_propaldet MODIFY description text(65535) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 
ALTER TABLE dolibarrdb.llx_propaldet MODIFY vat_src_code varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE dolibarrdb.llx_propaldet MODIFY localtax1_type varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
...

Bref, depuis ça, les infos sur les interclassement dans la partie « administration > base de données » de dolibarr sont cohérentes, et mes recherches ne sont plus sensibles à la casse !!

J’espère que je n’aurai pas d’effets de bord… un backup a été fait avant les modifications.

Un grand merci à toi !

Super si tu as pu régler ton problème !

Par contre, je ne te conseille pas les interclassements mb4, certains utilisateurs ont eu des soucis.

Toutes les tables Dolibarr doivent être en utf8_unicode_ci

Bonjour @ksar,

utf8_unicode_ci ou utf8_bin ?

Cela a t-il une incidence ?
Merci

Bonjour,

C’est

utf8_unicode_ci

utf8_bin est sensible à la casse