Détails
Travailler avec l'encodage UTF-8 dans le source Python
Pensez-y :
$ cat bla.py
u = unicode('d…')
s = u.encode('utf-8')
print s
$ python bla.py
File "bla.py", line 1
SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Comment déclarer les chaînes UTF-8 dans le code source ?
402
2
Dans l'en-tête de la source, vous pouvez déclarer :
Elle est décrite dans le [PEP 0263][1] :
Vous pouvez alors utiliser UTF-8 dans les chaînes de caractères :
Cette déclaration n'est pas nécessaire dans Python 3 car UTF-8 est le codage source par défaut (voir [PEP 3120][2]).
En outre, il peut être utile de vérifier que votre éditeur de texte encode correctement votre code en UTF-8. Sinon, vous pouvez avoir des caractères invisibles qui ne sont pas interprétés en UTF-8.
[1] : http://www.python.org/dev/peps/pep-0263/ [2] : https://www.python.org/dev/peps/pep-3120/
N'oubliez pas de vérifier si votre éditeur de texte encode correctement votre code en UTF-8.
Sinon, vous risquez d'avoir des caractères invisibles qui ne sont pas interprétés en UTF-8.