Bonjour à tous,
J'ai un objet bloc, s'affichant sous forme de chaîne accentuée au format iso-8859-15, que je veux afficher en console.
Apparemment, pour faire ça correctement, il faut que je convertisse mes chaînes en UTF8.
Cependant, ça ne fonctionne pas pareillement selon la méthode employée.
Mes deux méthodes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 print bloc.__str__().decode("iso-8859-1") sys.stdout.write(bloc.__str__().decode("iso-8859-1"))
Méthode print
La méthode print fonctionne, mais seulement avec iso-8859-1 (là, le caractère 'oe' s'affichera donc '1/2').
Avec .decode("iso-8859-15"), j'obtiens l'erreur :
Il s'agit du caractère 'oe' qu'il ne peut apparemment reconnaître...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UnicodeEncodeError : 'charmap' codec can't encode character u'\u0153' in position 28: character maps to <undefined>
Méthode sys.stdout.write
Avec la méthode sys.stdout.write, rien ne fonctionne, même en iso-8859-1.
Là, j'obtiens l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UnicodeEncodeError: 'ascii' codec can't encode character u'\xc9' in position 19: ordinal not in range(128)
Quelqu'un a-t-il mieux à me proposer ?
Merci d'avance.
Partager