pourquoi "sys.setdefaultencoding" n'existe pas ? - Python - Programmation
Marsh Posté le 21-12-2005 à 17:28:50
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 ?
Marsh Posté le 21-12-2005 à 17:48:08
Extrait de "Dive into python" :
Citation : |
Marsh Posté le 21-12-2005 à 20:15:25
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.
Marsh Posté le 21-12-2005 à 21:03:53
Regarde la partie sur unicode dans "Dive Into Python", ce que tu demandes est expliqué.
Marsh Posté le 21-12-2005 à 23:38:37
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 didnt know that s was a unicode string, youd 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.
Marsh Posté le 21-12-2005 à 17:18:43
Bonjour,
Voici le problème :
mais que se passe t-il donc ?
Merci.