Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : encodage des caractères [ Archives / Au secours !!! ] (taz_iup)

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é dans : code, erreur, path, min, encodage


Répondre à ce message

Sujets en rapport avec ce message

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 IDLE : une mauvaise plaisanterie ? [ par steede ] Bonjour, je débute la programmation (enfin je m'y remets...et je suis autodidacte) et j'ai d'énormes problèmes  avec Python à savoir :   - toutes les parser code source [ par nico3141 ] Bonjour,   Je voudrai réaliser un analyseur de code source fortran 77 puis 90 ou C qui tourne sur Unix et Windows J'ai commencé m'ai recherche et appa erreur encoding [ par MATHIS49 ] Bonjour !  *J'aimerais savoir ce que signifier l'erreur : Non-ASCII character '\xc3' in file vcard on line 8, b ut no encoding declared; ? j'ai c Code source : bizare venez [ par xeolin ] question qui pourait paraitre bizarre :a quoi servent les point...j'en ai pratiquement 200 mé je ne sait pas a quoi ca sert.(comme prizee pour des kdo Présentation de code correcte ? [ par corbaque ] Bonjour à tous,J'ai découvert le Python il y a trés peu de temps, je programme depuis 9 mois en ruby, et je me suis essayé à se language qui m'impress qqn pourrait il me donner qques conseil? [ par Veust ] je suis actuellement sur un projet ou je suis suppposé écrire un code sous python permettant de faire communiquer plusieurs types de plateformes (PC, besoin d'aide ,code client/serveur [ par Veust ] Je suis actuellement sur un projet ou je suis suppposé écrire un code sous python permettant de faire communiquer plusieurs types de plateformes (PC,


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.