begin process at 2010 09 04 17:13:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Python

 > 

Archives

 > 

Au secours !!!

 > 

encodage des caractères


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

encodage des caractères

jeudi 7 avril 2005 à 16:04:25 | encodage des caractères

taz_iup

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....

chaine = u"ç"
print chaine

Alors des idées? moi je sèche
lundi 11 avril 2005 à 14:22:45 | Re : encodage des caractères

taz_iup

Réponse acceptée !
Python encode par déaut en ascii simple ( 128 caratères )
pour qu'il encode en iso-8859-1 ( latin-1 ) il suffit de mettre ces deux lignes dans le fichier <REP_PYTHON>\Lib\site-packages\sitecustomize.py
import sys
sys.setdefaultencoding('latin-1')

après le tour est joué!!!
plus de problème avec les caractères accentués.
voila , simplissimo!

ref = "http://www.pycs.net/users/0000323/stories/14.html"

mercredi 27 avril 2005 à 19:52:42 | Re : encodage des caractères

Bl0tCh

Super truc !!!!
ça marche nickel pour une fois !!!

Merci bcp !!!
jeudi 28 avril 2005 à 10:31:39 | Re : encodage des caractères

taz_iup

Je crois que je doit etre le seul qui répond tout seul à ses questions...
jeudi 28 avril 2005 à 10:32:14 | Re : encodage des caractères

taz_iup

enfin à ses propres questions.
vendredi 29 avril 2005 à 15:37:56 | Re : encodage des caractères

DoudouBidou

Je dois être con mais j'ai pas cette fonction dans le module sys...

ya la fonction : getdefaultencoding() qui me retourne 'ascii'
mais pas setdefaultencoding()...

c'est normal?
quel version de python tu as ?
moi la version 2.4.1

>>>sys.getdefaultencoding()
'ascii'
>>> sys.setdefaultencoding('latin-1')
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in ?
    sys.setdefaultencoding('latin-1')
AttributeError: 'module' object has no attribute 'setdefaultencoding'


vendredi 29 avril 2005 à 15:48:48 | Re : encodage des caractères

DoudouBidou

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 :)


vendredi 29 avril 2005 à 18:43:06 | Re : encodage des caractères

taz_iup

vi c'est normal moi aussi mais quand tu la met dans le fichier préciser la fonction est acceptée, aussi étrange que cela puisse paraître!


Cette discussion est classée dans : code, erreur, path, min, encodage


Répondre à ce message

Sujets en rapport avec ce message

Python, MySQLdb, insertion tronquée d'un champ MEDIUMTEXT [ par Isichia ] bonjour, Je développe un script en Python/MySQLdb pour enregistrer des articles de journaux et revues. Le contenu de l'article est inséré dans un cham PIL, erreur lors de l'ouverture d'une image :/ [ par rezuz ] bonjour, j'utilise la bibliothèque PIL pour modifier des images, notament la taille. mais lorsque je lance le script et avant d'afficher les images, Erreur avec PIL [ par elnabo ] Bonjour, ayant récemment acheter un nouvel ordinateur (avec Seven Pro), j'ai voulu réinstaller Python et reprendre/améliorer certain de mes programme formulaire [ par damien7258 ] Bonjour, donc voila tout t'abord j'utilise django. Donc en faite j'aimerais faire un formulaire sur mon site avec des champs voici mon models.py : [c Type de cette variable [ par timbuk ] Salut à tous, Je voudrais connaïtre le type de cette variable: [code=py]{'md5': "666", 'nom': "abitbol", 'passe': "kikoo",}[/code] Et aussi savoir si Aide sur la recuperation de donnees d une db [ par mimimou ] Bonjour a tous, Je commence le developpement d'une classe pour l'utiliser dans Maya, qui doit me permettre de se connecter a la bdd qui se trouve sur Ouvrir une nouvelle fenetre avec un bouton [ par Mic92 ] Salut, J'ai un problème de débutant, encore J'essaie avec un bouton de fermer une fenetre et d'en ouvrir une autre en récupérant l'Entry de la premier Path definitif [ par Marvin ] Bonjour tout le monde!Voila donc j'ai un petit probleme, je voudrait pouvoir configurer mon path definitivement, sans avoir a le reconfigurer a chaque Pb avec os.path.join [ par MHI ] Il doit y avoir un problème avec os.path.join lorsqu'on un un répertoire ou un fichier compmençant par un chiffre.Exemple :c:\temp\77.txt donne C:\T Exception [ par Bl0tCh ] Bonjour, je voudrais savoir comment afficher l'erreur retourné :L'erreur est comme ceci : connection=session.connect(cmdParse[1]) #connection au ft


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales