Python accent est variable

Résolu
Utilisateur anonyme -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, je viens de créer un bot en python qui se connecte a MSN tous fonctionne niquel juste un petit problème au niveau des accents :

Le message n'est pas envoyé si il y a des accents ou caractères spéciaux dans les variables.

Dans mon code j'ai mis :
# -*- coding: utf-8 -*-

donc si j'ai une variable :
maVar = "vélo"

Le message est bien envoyé car python l'encode.

Par contre si je cherche du texte dans un fichier ou sur une page web et qu'il y a des accents le message n'est pas envoyé (enfin si mais vide).

Comment dire a python d'encodé mes variables en utf-8 ??

Merci

2 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Il faut utiliser unicode / encode.
    Par exemple, dans ton cas :
    s=unicode(maVar, "EncodageDelaPage")
    chaine=s.encode("utf-8")

    Cdlt,
    0
  2. Utilisateur anonyme
     
    Bonjour,

    "EncodageDelaPage" corresponde a quoi ?

    merci
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Comme son nom l'indique, ça correspond à l'encodage utilisé sur la page web dont tu parles. Chaque site est libre de choisir son encodage.
      0
    2. Utilisateur anonyme
       
      Bon j'ai trouvé, le problème était coté du protocole MSN il fallait que j'enlève "charset=UTF-8"
      dans les données envoyées.

      Il faut dire qu'il ont un protocole spéciales...
      0
    3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Doux euphémisme ;-))).
      0