Page 2 sur 2 • 1, 2
- e1654dNiveau 7
En Python 3, l'encodage par défaut est UTF8. Par conséquent, il suffit d'enregistrer ses scripts en UTF8 et on n'a rien à configurer au niveau Python proprement dit (pour enregistrer en UTF8, normalement il doit y avoir un menu déroulant ou une option du même genre dans la boit de dialogue Enregistrer sous ; dans d'autres éditeurs, ce réglage se trouve sous Propriétés).
De façon plus immédiate : en supprimant toute lettre accentuée et tout caractère "spécial", on élimine le problème parce que ce problème d'encodage ne se pose normalement pas pour les fichiers qui sont entièrement composés de lettres et caractères usuels en anglais (en fait ceux du codage ASCII).
De façon plus immédiate : en supprimant toute lettre accentuée et tout caractère "spécial", on élimine le problème parce que ce problème d'encodage ne se pose normalement pas pour les fichiers qui sont entièrement composés de lettres et caractères usuels en anglais (en fait ceux du codage ASCII).
- FurbyNiveau 9
Merci Ed,
ton explication est déjà plus à ma portée, et j'ai effectivement utilisé un accent en mettant un titre dans un graphique (fougère, je suis sur le dessin de la fougère de barnsley). Mais même en le supprimant, ça n'a rien changé.
Je travaille avec Amiens python, et dans le menu "enregistrer sous" je n'ai pas de choix, je ne trouve pas non plus d'options propriétés. Par contre dans le menu déroulant "Edition" j'ai un sous menu "format de fichier" qui était coché sur UTF16-LE, j'ai modifié en cochant UTF8 mais ça n'a pas résolu le problème non plus.
Je suis toujours preneur de conseils (adaptés à une quiche en informatique que je suis). A noter que j'ai recopié cet algo sur un ordinateur du lycée, enregistré puis ré-ouvert et ça a fonctionné, c'est sur mon PC que ça ne marche pas.
ton explication est déjà plus à ma portée, et j'ai effectivement utilisé un accent en mettant un titre dans un graphique (fougère, je suis sur le dessin de la fougère de barnsley). Mais même en le supprimant, ça n'a rien changé.
Je travaille avec Amiens python, et dans le menu "enregistrer sous" je n'ai pas de choix, je ne trouve pas non plus d'options propriétés. Par contre dans le menu déroulant "Edition" j'ai un sous menu "format de fichier" qui était coché sur UTF16-LE, j'ai modifié en cochant UTF8 mais ça n'a pas résolu le problème non plus.
Je suis toujours preneur de conseils (adaptés à une quiche en informatique que je suis). A noter que j'ai recopié cet algo sur un ordinateur du lycée, enregistré puis ré-ouvert et ça a fonctionné, c'est sur mon PC que ça ne marche pas.
- ycombeMonarque
Amiens python, c'est normalement Python 2.
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- VoltaireNiveau 10
AmiensPyton (ou Edupython), est en version 2 pour Edupython à proprement parler, mais est maintenant depuis un bon moment basé sur un moteur python 3. Distribution gratuite, très agréable à l'emploi (les bibliothèques standard sont déjà présentes, et on peut, ou non, utiliser les bibliothèques développées par Amiens. TIent (et fonctionne) sur une clé USB.
- VoltaireNiveau 10
Et si vous voulez utiliser des caractères accentués dans les commentaires ou les expressions, le programme doit commencer par :
# coding=UTF-8
# coding=UTF-8
- FurbyNiveau 9
Mais comme dit plus haut, le problème ne vient pas des caractères accentués.
- e1654dNiveau 7
Si le document était en UTF16-LE, il est possible qu'un caractère invisible BOM ait été placé au tout début. Dans l'encodage UTF16, un caractère est codé sur plusieurs octets (bytes) et il y a plusieurs conventions quant à l'ordre dans lequel on les écrit ; on utilise souvent un caractère sans signification mais qui permet d'indiquer cet ordre (byte-order-marking). Ce caractère non plus n'est pas valide en ASCII.
Si le document n'est pas secret, il est possible d'utiliser l'éditeur hexadécimal en ligne https://hexed.it/
Dans cet affichage, le caractère BOM devrait apparaitre sous le forme de deux octets FF FE (ou FE FF si l'ordre a été renversé entre temps) ; il suffit de remplacer chacun de ces deux caractères par le code hexadécimal 20 (32 en décimal), ce qui correspond à des espaces.
Si le document n'est pas secret, il est possible d'utiliser l'éditeur hexadécimal en ligne https://hexed.it/
Dans cet affichage, le caractère BOM devrait apparaitre sous le forme de deux octets FF FE (ou FE FF si l'ordre a été renversé entre temps) ; il suffit de remplacer chacun de ces deux caractères par le code hexadécimal 20 (32 en décimal), ce qui correspond à des espaces.
- FurbyNiveau 9
Je voulais mettre mon fichier en PJ, mais le format .py n'est pas accepté.
- e1654dNiveau 7
EF BB BF c'est un BOM en UTF8. Si le fichier est bien lu en UTF8 il ne devrait pas y avoir de problème ; mais comme il semble être lu en ASCII… On peut aussi éliminer ces 3 octets en les remplaçant par des codes 20.
- FurbyNiveau 9
Oui c'est ça, j'ai EF BB BF. Je modifie en remplaçant par 20 20 20, et ensuite ? Comment enregistrer ces modifs ?
Merci ed, ça m'ennuie de squatter le forum pour ça, aussi je pose les questions suivantes maintenant :
- bien que je ne comprenne rien à ce que je fais, si ça marche, il faudra que je le refasse pour chaque algo créé sur mon ordi ?
- y a un moyen simple pour faire en sorte que mon ordi ne lise pas ces fichiers en ascii ?
Merci ed, ça m'ennuie de squatter le forum pour ça, aussi je pose les questions suivantes maintenant :
- bien que je ne comprenne rien à ce que je fais, si ça marche, il faudra que je le refasse pour chaque algo créé sur mon ordi ?
- y a un moyen simple pour faire en sorte que mon ordi ne lise pas ces fichiers en ascii ?
- cedricVRNiveau 2
Pour obtenir de l'aide sur Python en français, voir aussi le canal "python-fr" de Freenode:
http://irc.lc/freenode/python-fr
C'est un chat IRC, ça s'utilise grosso-modo comme n'importe quelle messagerie instantanée.
http://irc.lc/freenode/python-fr
C'est un chat IRC, ça s'utilise grosso-modo comme n'importe quelle messagerie instantanée.
- cedricVRNiveau 2
Sinon pour en revenir à ton problème d'encodage, ça devrait suffire de t'assurer que sur chaque machine que tu utilises:
- La version de Python utilisée est "3 quelque chose"
- L'éditeur que tu utilise a son encodage réglé à UTF-8
Page 2 sur 2 • 1, 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum