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

JDBC Java Discussion :

ne pas prendre en compte la casse ni les accents


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut ne pas prendre en compte la casse ni les accents
    Bonjour,

    en ce moment je cherche a comparer des chaines mais pour cela il faut que je ne prenne pas en compte ni la casse ni les accents ...

    pour la casse un simple .toUpperCase() suffit mais comment ignorer les accents ?

    merci d'avance

    bonne soirée

  2. #2
    Membre actif Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Points : 294
    Points
    294
    Par défaut
    et si tu remplaçait les éèêë... par un 'e' avant la comparaison ?

    String.replace

  3. #3
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Ca se réalise en fait avec la classe Collator et en jouant sur sa Strength

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    Merci de vos reponses

    tout d'abord je precise un peu ce qu eje fais j'utilise des expression réguliere
    en fait j'ai un champ de recherche, je recupere la chaine de ce champ pour voir si elle matche avec des infos dans ma base de donnée

    j'ai regarder un peu la class collator elle me semble peut adapté a ce que je souhaite faire. Mais peut etre ai-je mal compris ?

    la solution du String.replace fonctionne mais pas toujours ce qui pose problème.

    voilà j'attends vos reactions

    merci encore

  5. #5
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Cette classe permet de faire des comparaisons entre des chaînes selon certains critères que tu peux lui spécifier, comme ignorer la casse ou les accents, ce qui à priori ressemble à ton problème, ensuite si tu utilise les regexp, il est sûr que ça change la donne.

  6. #6
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Citation Envoyé par pigpen
    je recupere la chaine de ce champ pour voir si elle matche avec des infos dans ma base de donnée
    Le plus simple et le plus adapté n'est-il pas alors de faire le filtrage en base directement et de laisser la base gérer ces comparaisons "sans accent" ?

    Au passage, à mon sens, String.replace dans ce genre de cas c'est un peu du bricolage ...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    oui c'est un peu la solution bricolage c'est sur mais bon ...

    comment dans une requete sql on peu marquer ce genre de truc ? ignorer la casse et les accents ??

    merci de vos réponses

  8. #8
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    déjà pour la casse tu peux utiliser LOWER ou UPPER sur les deux chaînes à comparer

  9. #9
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    En fait ça dépend pas mal de :
    - ta base de données
    - la façon dont tu t'y connectes

    Si tu me donnes ces deux infos, je pourrai peut être (pas sûr) répondre ...

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    la base c'est MySQl et je m'y connecte via JBDC

    merci de vos reponses

  11. #11
    Membre régulier Avatar de anto
    Inscrit en
    Juin 2003
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 86
    Points : 84
    Points
    84
    Par défaut
    Citation Envoyé par sinok
    Ca se réalise en fait avec la classe Collator et en jouant sur sa Strength
    Tu peux préciser stp

  12. #12
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par anto
    Tu peux préciser stp
    Comment comparer des chaînes de caractères selon la Locale ?

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	String s1 = "Aéoù";
    	String s2 = "aEoÙ";
     
    	System.out.println( s1.equals(s2) ); // false
     
    	Collator collator = Collator.getInstance(Locale.FRENCH);
    	collator.setStrength(Collator.PRIMARY); // ignore la casse et les accents
     
    	System.out.println( collator.equals(s1, s2) ); // true
    Mais cela n'a rien à voir avec JDBC (le sujet n'étais pas bien placé à l'origine).

    a++

  13. #13
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Sinon tu peux aussi le faire en base comme je te disais en utilisant les collations de mysql (voir doc mysql c'est assez bien expliqué)

  14. #14
    Membre régulier Avatar de anto
    Inscrit en
    Juin 2003
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 86
    Points : 84
    Points
    84
    Par défaut
    Citation Envoyé par adiGuba
    Salut,


    Comment comparer des chaînes de caractères selon la Locale ?

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	String s1 = "Aéoù";
    	String s2 = "aEoÙ";
     
    	System.out.println( s1.equals(s2) ); // false
     
    	Collator collator = Collator.getInstance(Locale.FRENCH);
    	collator.setStrength(Collator.PRIMARY); // ignore la casse et les accents
     
    	System.out.println( collator.equals(s1, s2) ); // true
    Mais cela n'a rien à voir avec JDBC (le sujet n'étais pas bien placé à l'origine).

    a++

    Merci de vos réponses si rapides

    Est-il possible de faire quelque chose de similaires en csharp?

  15. #15
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par anto
    Est-il possible de faire quelque chose de similaires en csharp?
    Surement... http://www.developpez.net/forums/forumdisplay.php?f=484

    a++

Discussions similaires

  1. [XL-2003] Masquer une cellule et ne pas prendre en compte sa valeur dans les calculs
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/10/2009, 11h07
  2. requête sans prendre en compte la casse
    Par clems34 dans le forum PostgreSQL
    Réponses: 13
    Dernier message: 13/04/2009, 16h50
  3. Réponses: 2
    Dernier message: 31/08/2007, 16h52
  4. [.NET] ne pas prendre en compte les "0"
    Par californialove dans le forum MFC
    Réponses: 16
    Dernier message: 05/06/2006, 10h05
  5. [XHTML] Ne pas prendre en compte les balises XHTML
    Par simnitch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 18/08/2005, 15h58

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