Bonjour,
Après une matinée de recherche infructueuse, en désespoir de cause j'ouvre un sujet pour un problème de conversion d'un string en unicode. J'ai un script qui bloque sur cette erreur :
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 43: ordinal not in range(128)
Voici mon code :
print type(monstring)
print monstring
print monstring.decode('latin1')
monstring = unicode(monstring)
Voici ma sortie :
<type 'str'>
#########################################_Dédié
#########################################_Dédié
File "monfichier.py", line 90, in ?
monstring = unicode(monstring)
(Je masque la partie du string qui avant le problème pour éviter toute identification)
Le numéro de ligne d'erreur
Mon gros problème ici est selon moi le caractère "é", qui ne parvient pas être transformé en unicode depuis ma variable de type str. Le problème est que je n'initialise pas cette variable et sa valeur moi même, je la récupère depuis une connexion oracle qui m'impose un string, donc je ne peux que tenter de la convertir en unicode à postéri, ce qui ne fonctionne pas. J'ai eu beau cherché à droit à gauche comment convertir un string en unicode, en retirer les accents d'un string en python, je n'ai trouvé que des solutions qui ne fonctionnent pas.
Si avez des idées, je vous remercie d'avance.
Partager