Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1094 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  pourquoi "sys.setdefaultencoding" n'existe pas ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pourquoi "sys.setdefaultencoding" n'existe pas ?

n°1271417
psychotek
Posté le 21-12-2005 à 17:18:43  profilanswer
 

Bonjour,
 
Voici le problème :

Code :
  1. >>> import sys
  2. >>> sys.getdefaultencoding()
  3. 'ascii'
  4. >>> sys.setdefaultencoding('latin-1')
  5. Traceback (most recent call last):
  6.   File "<stdin>", line 1, in ?
  7. AttributeError: 'module' object has no attribute 'setdefaultencoding'


 
mais que se passe t-il donc ?
Merci.
 

mood
Publicité
Posté le 21-12-2005 à 17:18:43  profilanswer
 

n°1271422
theshockwa​ve
I work at a firm named Koslow
Posté le 21-12-2005 à 17:28:50  profilanswer
 

si c'est juste pour préciser l'encoding de ton fichier source, ca passe par une chaine barbare du style "# -*- coding: utf-8 -*-" en début de fichier ?

n°1271439
Profil sup​primé
Posté le 21-12-2005 à 17:48:08  answer
 

Extrait de "Dive into python" :
 

Citation :


(Due to some wacky programming tricks that I won't get into right now, you can't even call sys.setdefaultencoding after Python has started up. Dig into site.py and search for “setdefaultencoding” to find out how.)

n°1271542
psychotek
Posté le 21-12-2005 à 20:15:25  profilanswer
 

theshockwave > ce n'est pas seulement pour l'encoding du source, mais plutôt parce que j'ai des chaînes en unicode d'un côté de mon programme et, de l'autre côté, j'ai une erreur de décodage de caractère.
 
alerim > que dois-je en faire ? je ne tiens pas à modifier site.py, car je ne veux pas le faire faire à mes utilisateurs.

n°1271551
Profil sup​primé
Posté le 21-12-2005 à 21:03:53  answer
 

Regarde la partie sur unicode dans "Dive Into Python", ce que tu demandes est expliqué. :o

n°1271596
psychotek
Posté le 21-12-2005 à 23:38:37  profilanswer
 

Citation :

When printing a string, Python will attempt to convert it to your default encoding, which is usually ASCII. (More on this in a minute.) Since this unicode string is made up of characters that are also ASCII characters, printing it has the same result as printing a normal ASCII string; the conversion is seamless, and if you didn’t know that s was a unicode string, you’d never notice the difference.


 
C'est vrai que ce bouquin contient plein d'infos, notamment s.encode('latin-1'), qu'on m'avait déjà dit mais je n'avais pas compris.
 
Par contre la solution "automatique" consiste à modifier sitecustomize.py, mais c'est une manip que devront aussi faire les utilisateurs, ce qui m'ennuie. tant pis je vais m'en tenir à s.encode('latin-1').
 
 
Merci pour votre aide. :jap:


Message édité par psychotek le 21-12-2005 à 23:40:02

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  pourquoi "sys.setdefaultencoding" n'existe pas ?

 

Sujets relatifs
Verifier si un utilisateur existe dans un groupe donnéTester si un enregistrement existe ou non.
datagrid existe uniquement en asp.net? [edit][PHP] Opendir qui échoue, alors que le répertoire existe
[resolu par hasattr()]comment savoir si une variable existe ?Sql Server Tester si un fichier existe
détecter si un fichier existe deja avant d'uploaderverifier formulaire existe
[Resolu] Existe?[vba] l' équivalence avec "implode" existe ?
Plus de sujets relatifs à : pourquoi "sys.setdefaultencoding" n'existe pas ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR