<?xml version="1.0"?>
<rss xmlns:php="http://php.net/xsl" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Support des lettres accentuées en Python - Chicoree</title><link>http://www.chicoree.fr/w/Support_des_lettres_accentu%C3%A9es_en_Python</link><atom:link href="http://www.chicoree.fr/w/Support_des_lettres_accentu%C3%A9es_en_Python?action=toFeed" rel="self" type="application/rss+xml"/><description><![CDATA[Considérons le programme menu.py, chargé d'afficher le menu du jour:
Un programme aussi simple ne peut pas poser de problème? Et pourtant, si on tente de l'exécuter, surprise:
Quel est donc le problème sur la ligne 8? Que se passe-t-il donc le mercredi? Python n'aimerait-il pas la purée? C'est un peu ça: En fait, sans indice particulier, Python suppose que le fichier utilise l'encodage US-ASCII ... ce qui n'est visiblement pas le cas, puisque si l'US ASCII ne supporte pas les lettres accentuées – alors que notre fichier en contient bel et bien!
Bref, il faut donc préciser à Python l'encodage utilisé. Plusieurs moyens – mais tous reposent sur l'idée d'ajouter un commentaire pour préciser l'encodage sur la première ou la seconde ligne du fichier. 
Si vous utilisez l'éditeur emacs ou vim, vous pouvez faire d'une pierre deux coups en utilisant le même code pour préciser l'encodage à la fois à Python et à votre éditeur. Dans le cas de GNU Emacs, la ligne à ajouter est la suivante:
Dans le cas de VIM, il faudra utiliser:
Si vous n'utilisez aucun de ces deux éditeurs, vous pouvez utiliser le code de votre choix: l'important pour vous étant que Python sache quel encodage de caractères vous utilisez.
Comme pour ma part j'utilise VIM, le code programme devient le suivant après cette modification:
Maintenant, Python accepte d'exécuter notre programme – et les lettres accentuées s'affichent correctement:
]]></description><item><title>http://www.python.org/peps/pep-0263.html</title><link>http://www.python.org/peps/pep-0263.html</link><description/></item><item><title>file:///usr/share/doc/python/html/ref/encodings.html</title><link>file:///usr/share/doc/python/html/ref/encodings.html</link><description/></item></channel></rss>
