L'une des erreurs les plus courantes lorsque l'on veut utiliser dans un script python des accents (Note: voir l'article sur Afficher / Travailler avec les accents sous python). Imaginons le simple script python (intitulé ici: TestCode.py) suivant:
print "J'ai tout mangé le chocolat"
en executant ce code vous allez obtenir le message suivant:
% python TestCode.py
File "TestCode.py", line 1
print u"j'ai mang? tout le chocolat"
SyntaxError: (unicode error) 'utf8' codec can't decode byte 0x8e in position 0: invalid start byte
Pour corriger cela il suffit d'indiquer l'encodage (# -- coding: utf-8 --) au début du script et de mettre un 'u' devant le string pour indiquer que celui-ci doit être en unicode:
# -*- coding: utf-8 -*-
print u"J'ai tout mangé le chocolat"
donne maintenant:
% python TestCode.py
J'ai tout mangé le chocolat
Recherches associées
Liens | Site |
---|---|
Afficher / Travailler avec les accents sous python | science-emergence |
UnicodeDecodeError | python doc |
SyntaxError: Non-ASCII character '\xa3' in file when function returns '£' | stackoverflow |
Python: UnicodeDecodeError: 'utf8' codec can't decode byte | stackoverflow |
“Unicode Error ”unicodeescape" codec can't decode bytes… Cannot open text files in Python 3 | stackoverflow |
UnicodeDecodeError: 'utf8' codec can't decode byte “0xc3” | stackoverflow |