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

Python Discussion :

Codage de caractere


Sujet :

Python

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut Codage de caractere
    Bijour,
    J'ai un probleme avec l'encodage de charactere... Je recuperere du texte depuis une page web, il y'a des caractere HTML.
    Je les remplace en ISO LATIN 1 avec cette methode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dico = htmlentitydefs.entitydefs
        for key in dico.keys():
            rst = rst.replace('&'+key+';', dico[key])
            print "- " + key + " => " + dico[key]
    Problemes, cela me ressort ce genre de texte :

    e fois l& # 8217 ;installation terminee, vous n& # 8217 ;aurez plus acces a vos programmes en ligne, c& # 8217 ;est normal, a sera a vous de configurer ZoneAlarm afin qu& # 8217 ;il accepte les programmes qui tentent d acceder a
    J'ai essayé de traiter ce resultat avec des encode, et decode mais sans résultat.... Si quelqu'un a une idée merci

    edit: dsl j'ai du mettre des espaces dans les caracteres spéciaux sinon le forum les transformaient

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Points : 106
    Points
    106
    Par défaut
    Je ne m'y connait pas trop dans ces codes mais apparement la clé correspondant à l'apostrophe (8217) n'est pas dans le dictionnaire de clé que tu récupères. As-tu au moins essayé de la rajouter avant le traitement ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dico = htmlentitydefs.entitydefs
    dico[8217] = '\''
    for key in dico.keys():
        rst = rst.replace('&'+key+';', dico[key])
        print "- " + key + " => " + dico[key]

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Nonon il est bien dans le tableau, le problemes c'est qu'il faut que je transforme ce texte en du texte lisible, et donc remplacer ces saloperies de code . Et c'est la que je bloque.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Points : 106
    Points
    106
    Par défaut
    Et tu es sûr que les clés du dictionnaire ne contiennent que le code comme 8217 pour ' et qu'elles ne sont pas de la forme &8217; ???

    edit : Tu fait quoi comme import ???
    edit2: La citation que tu fais au premier post c'est avant ou après traitement ???

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    import htmlentitydefs
    C'est un code que j'ai choppé sur un forum, mais il remplis parfaitement son role je pense.

    j'ai essayé de faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     rst = rst.replace(key, dico[key])
    et la ça me met des & & 1234 ;;

    Il faut que j'arrive a transformer c'est caracteres en quelque chose de lisible.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Points : 106
    Points
    106
    Par défaut
    OK je me suis fait un ptit bout de code avec ce que tu m'as donné. Je pense que l'idée que tu as pour modifier ton texte est bonne mais c'est le dictionnaire que tu récupères qui n'est pas bon (enfin je crois!!).
    Tu peux mettre ce que tu obtiens dans la variable rst avant le traitement pour que je puisse faire d'autres tests et t'aider un peu plus concrètement.

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Par exemple, juste avant traitement j'ai :


    , une fois l’installation terminee, vous n’aurez plus acces a vos programmes en ligne, c’est normal, a sera a vous de configurer ZoneAlarm afin qu’il accepte les programmes qui tentent d acceder a Internet. Toutes ses operations se font tres facilement. CamStudio est un logiciel qui permettra d’enre

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 119
    Points : 106
    Points
    106
    Par défaut
    Comme je te le disais le dictionnaire que tu récupères n'est pas tout à fait ce qu'il te faut puisque certains codes sont retranscrits dans un autre code et non en caractère comme tu le voudrais (tel est le cas pour le code de l'apostrophe qui est dans ton texte le plus récurant).
    Je pense que tu pourrais te créer ton propre dictionnaire à partir des clés de celui que tu récupères et tu leur associes le bon caractère.

  9. #9
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    J'utilisais déjà un dictionnaire avec des référence dedans mais ce n'est pas pratique du tout et je me doute bien que python doit savoir faire ce genre de chose tout seul.
    Il suffit de trouver je pense mais bon

Discussions similaires

  1. Codage du caractere \
    Par the-destroyer dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/05/2011, 15h28
  2. [Caractères spéciaux][arabe]codage et java
    Par souraf dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 06/03/2006, 11h26
  3. codage caractere
    Par cedre22 dans le forum Langage
    Réponses: 2
    Dernier message: 17/01/2006, 09h32
  4. [Sécurité] Codage des caractéres arabe
    Par riadh100 dans le forum Langage
    Réponses: 3
    Dernier message: 13/09/2005, 13h40
  5. [Encodage] codage des caractères spéciaux
    Par soulhouf dans le forum Général Java
    Réponses: 11
    Dernier message: 24/08/2005, 12h07

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