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

PostgreSQL Discussion :

Caractère accentué


Sujet :

PostgreSQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Caractère accentué
    Lorsque j'effectue une requête par exemple select * from table where ville="montreal"... les resultats affichés ne vont pas inclure ceux qui contienne "montréal" avec l'accent aigu... qqn pourrait m'aider ou m'indiquer comment dire a postgre d'ignorer les accents....et j'oubliais la technique de "remplacement" faut laisser tomber..trop lourd

    Rich

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    Tu peux essayer la fonction to_ascii() à condition que le volume d'enregistrements ne soit pas pharaonique. Dans ton cas ça donnerait à peu près cela (à condition d'utiliser un encodage latin1) :
    select * from table where to_ascii(ville,'LATIN1')='montreal';

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Jedei
    Tu peux essayer la fonction to_ascii() à condition que le volume d'enregistrements ne soit pas pharaonique. Dans ton cas ça donnerait à peu près cela (à condition d'utiliser un encodage latin1) :
    select * from table where to_ascii(ville,'LATIN1')='montreal';
    merci ca a aider mais.....lorsque j'écris montréal :--> aucun résultat ne m'est retourné

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    C'est normal avec la solution proposée qui suppose que tu maîtrises que le côté droit de l'expression, ce qui me semblait être le cas. D'une façon générale, 2 solutions :
    1/ tu maîtrises le nom de la ville lors de la requête .C'est la solution qui présentera les meilleures performances en termes de rapidité
    2/ tu utilises des fonctions du type to_ascii(), upper(), ou LIKE (ou ILIKE c'est selon) ou des expressions rationnelles. Les fonctions peuvent bien entendu être imbriquées et utilisées des deux côtés de l'opérateur d'égalité.

    Pour ce qui me concerne je ne vois pas d'autre alternative.
    Pour faire simple soit tu sais exactement ce que tu recherches et c'est la solution 1, soit tu sais à peu près et c'est la solution 2

  5. #5
    Membre émérite
    Avatar de hpalpha
    Inscrit en
    Mars 2002
    Messages
    769
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 769
    Points : 2 545
    Points
    2 545
    Par défaut
    Pour optimiser la recherche si ta table est importante, tu peux creer un index fonctionnel, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE INDEX idxtoascii ON table (to_ascii(ville));
    Delphi 2009 - ZeosLib - DevExpress - TMS - PgDAC
    PostgreSQL 8.4 sous Debian
    Sites : http://postgresql.developpez.com http://dgriessinger.developpez.com

Discussions similaires

  1. [pb de caractere] Conversion de caractères accentué pour url
    Par smyley dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 04/11/2005, 15h55
  2. Caractère accentué pas intéprété - help!
    Par psychomatt dans le forum Apache
    Réponses: 2
    Dernier message: 15/09/2005, 08h42
  3. [JEditorPane] Problème avec caractère accentué
    Par scifire dans le forum Composants
    Réponses: 6
    Dernier message: 14/09/2005, 14h58
  4. Conversion caractères accentué
    Par Goliath722 dans le forum C++
    Réponses: 1
    Dernier message: 28/12/2004, 00h41
  5. Bulk insert et caractère accentué
    Par slc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/04/2003, 12h52

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