taz_iup
Messages postés179Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention21 mai 2014
-
7 avril 2005 à 16:04
taz_iup
Messages postés179Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention21 mai 2014
-
29 avril 2005 à 18:43
J'aimerai que quelque'un fasse un peu de lumiere sur ce monde obscur de l'encodage des caratères.....
ex de code.
def ma fonction( self, repertoire ):
...
min = [ "Reçus", "Envoyés", "Poubelle" ]
self.__min = map( lambda str : os.path.join(repertoire, str), min )
Le truc bizarre le voila:
quand j'execute ce code au lancement de mon Appli wx, tout va bien....
par contre losrque je l'execute pendant que je parse un fichier XML
avec une classe héritée de xml.sax.ContentHandler, j'obtient une erreur
dans ntpath.py ( os.path.join ) :
path += "\" + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 3: ordinal not in range(128)
sachant que b vaut "Reçus" ( g mit un print juste avant le += dans ntpath.py ) et que path vaut "C:\temp\UFR"
Derniere précision, je n'utilise pas d'unicode. Et en plus l'erreur
stipule que le code est > 128. D'apres mes souvenirs l'ASCII
(etendu, j'ai fait un setlocale...)va jusqu'a 256...
Autrte petite précision le code suivant provoque la meme erreur....
cs_DoudouBidou
Messages postés102Date d'inscriptionjeudi 29 mai 2003StatutMembreDernière intervention23 juin 20084 29 avril 2005 à 15:48
en fait , il faut pas se poser de question,
il faut créer ce fichier sitecustomize.py et mettre dedans :
import sys
sys.setdefaultencoding('iso-8859-1')
ça fonctionne à merveille... que demander de plus :)
Pour info il faut savoir que le fichier sitecustomize.py est lancé à chaque démarrage de python
(si le fichier existe biensur)
donc pour executer un script systématique à chaque lancement de python,
il suffit de placer le code dans ce fichier :)