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

Linux Discussion :

[bash] Comparaisons chaines avec caractères accentués.


Sujet :

Linux

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut [bash] Comparaisons chaines avec caractères accentués.
    Bonjour,

    J'extraie des données (chaines de caractère) à partir d'une base de donnée avec un script shell, ces chaines possèdent des caractères accentués. Dans mon script quand j'extraie une chaine, je la compare à une chaine que j'ai définie (avec des accents), cependant le résultat de la comparaison est toujours faux à cause des caractères accentués.

    Vous avez une solution ?

    Merci.

  2. #2
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Et si tu postais un exemple de ces 2 chaînes considérées comme différentes par le shell
    Loi de Murphy:
    La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
    La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
    Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    réception courrier
    et
    r�ception courrier

  4. #4
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut probleme d'encodage surement
    tu devrais essayer d'afficher le code ASCII de tes chaines et de remplacer et comparer pour voir les changements a effectuer. Si c'est pas encodé en ascii, je sais pas trop
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut
    sachant que quand je fais
    Le caractère s'affiche normalement.

  6. #6
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    ouai mais le problème à mon avis c'est que les chaines qui viennent de ta base ne sont pas encodées de la même facon.
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut
    en fait, j'ai changé l'encodage de mon script en "iso- ..." au lieu de l'"utf-8" et la comparaison marche !
    Merci.

  8. #8
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    tu peux dire comment tu as procédé pour changer l'encodage de ton script?
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut
    j'ai ouvert le script avec gedit
    Fichier > enregistrer sous et tout en bas tu choisis l'encodage.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par igorIgor Voir le message
    j'ai ouvert le script avec gedit
    Fichier > enregistrer sous et tout en bas tu choisis l'encodage.
    Je comprends pas ce que ça a pu changer, si les chaines proviennent de ta base ? L'encodage du fichier ne devrait a priori rien changer, ou alors il y a quelque chose qui m'échappe ??

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut
    les chaines constantes auxquelles je compare celles extraites dans la BD sont déclarées dans le script

    j'ai un tableau de chaines du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TAB=("chaine1"  "chaine2"  .......)
    Je compare la chaine extraite a celles du tableau pour les besoins de mon algo ....

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par igorIgor Voir le message
    les chaines constantes auxquelles je compare celles extraites dans la BD sont déclarées dans le script

    j'ai un tableau de chaines du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TAB=("chaine1"  "chaine2"  .......)
    Je compare la chaine extraite a celles du tableau pour les besoins de mon algo ....
    Ah d'accord, en effet, j'avais mal lu le post initial, mea culpa

  13. #13
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    merci pour la manip c'etait pas bien compliqué mé faut dire que j'ai l'habitude d'écrire mes cripts avec vi (que je maitrise pas d'ailleurs)
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comparaison de chaines avec caractères spéciaux
    Par battl14 dans le forum Développement
    Réponses: 0
    Dernier message: 07/04/2009, 18h35
  2. comparaison de chaine avec caractères spéciaux
    Par loulag07 dans le forum Langage
    Réponses: 1
    Dernier message: 22/11/2007, 10h04
  3. Pb avec caractères accentués
    Par Invité dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2006, 10h09
  4. Problème d'INSERT avec caractères accentués: mysql 5.0
    Par yizashi dans le forum Installation
    Réponses: 2
    Dernier message: 05/04/2006, 10h26
  5. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12

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