IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

like insensible a la casse avec general_ci


Sujet :

Requêtes MySQL

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut like insensible a la casse avec general_ci
    Bonjour à tous, j'ai fais une petite recherche concernant mon problème et aucune astuce ne semble fonctionner
    Mes tables mysql sont encoder en UTF 8 general_ci et ce avec innodb.
    J'ai fais un genre de système de tag pour affiner mes tris ou recherche.
    Cependant si je fais une recherche sur le mot "soiree" plutôt que "Soirée" impossible d'avoir les résultats attendu.
    J'ai essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * FROM dc_organizer as agenda
    LEFT JOIN dc_organizer_tagevent as tag USING(id_organizer) 
    WHERE tag.name_tag LIKE CONVERT(_utf8 "%soiree%" USING utf8) COLLATE utf8_general_ci ORDER BY agenda.og_date_start DESC
    Mais également ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM dc_organizer as agenda
    		LEFT JOIN dc_organizer_tagevent as tag USING(id_organizer) 
    		WHERE tag.name_tag COLLATE utf8_unicode_ci  LIKE "%soiree%" ORDER BY agenda.og_date_start DESC
    Auriez-vous une idée ?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    Entre autres problèmes, MySQL gère très mal les collations et en particulier il est incapable de gérer correctement la sensibilité aux caractères diacritiques.
    A lire sur MySQL : http://blog.developpez.com/sqlpro/p9...udre-aux-yeux/

    A +

  3. #3
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Je suis au courant et je n'ai pas le choix de faire avec
    Je ne peut me permettre de changer de SGBD pour la raison que le site est existant et le temps de travail est relativement court.
    Je dois trouver une alternative pour ce problème assez embêtant.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par gtraxx Voir le message
    Je dois trouver une alternative pour ce problème assez embêtant.
    Vous risquez d'attendre longtemps.... Et comme le disait Woody Allen, "l'éternité, c'est long.... Surtout vers la fin !"

    A +

  5. #5
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Je reviens sur le problème n'ayant toujours aucune solution.
    J'ai essayer sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT UPPER(CONVERT(_utf8 "Liège" USING latin1 ))
    FROM dc_organizer AS agenda
    JOIN dc_language AS lang
    USING ( idlang )
    WHERE lang.alias_lang = "fr"
    AND agenda.state LIKE (CONVERT(_utf8"%%Liege%%" USING latin1 )) ORDER BY agenda.og_date_start
    Le double % c'est la méthode à la drupal mais qui ne fonctionne pas mieux.
    Peut-on imaginer une regex SQL pour modifier les caractère accentuer lors de la recherche.
    Je vais de toute façon tester postgresql pour mon usage personnel mais dans le cas présent c'est une DB client donc ....

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    Essayez une cochonnerie spécifique à MySQL qui s'apelle ILIKE..... c'est une rustine pour ce bug me semble til....

    A +

Discussions similaires

  1. LIKE / insensible à la casse et aux accents
    Par Samish dans le forum Requêtes
    Réponses: 12
    Dernier message: 03/04/2009, 19h53
  2. Comment effectuer une comparaison LIKE insensible à la casse ?
    Par Hervé Saladin dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 20/10/2006, 13h36
  3. Recherche avec sed insensible à la casse
    Par _Mac_ dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 12/10/2005, 16h42
  4. Nom des tables insensible a la casse
    Par bmayer dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/10/2005, 15h59
  5. probleme de casse avec mandrake
    Par sebduc dans le forum Installation
    Réponses: 2
    Dernier message: 11/03/2005, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo