Python accent est variable

Résolu/Fermé
Utilisateur anonyme - 7 août 2011 à 22:22
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 août 2011 à 23:26
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

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
7 août 2011 à 22:34
Bonjour,

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

Cdlt,
0
Utilisateur anonyme
7 août 2011 à 22:43
Bonjour,

"EncodageDelaPage" corresponde a quoi ?

merci
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
7 août 2011 à 23:03
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
Utilisateur anonyme
7 août 2011 à 23:25
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
7 août 2011 à 23:26
Doux euphémisme ;-))).
0