OVH Cloud OVH Cloud

afficher un é

6 réponses
Avatar
jmarc
je débute sous python

quand j'écris cette ligne : print 'trouvé'
le é est remplacé par un ?
comment remédier à ce problème?
merci

6 réponses

Avatar
Jerome
jmarc wrote:
je débute sous python

quand j'écris cette ligne : print 'trouvé'
le é est remplacé par un ?
comment remédier à ce problème?
merci




Bonjour,

Envisage de changer de console...


Quel os utilises-tu ? (windows j'imagine)
Essaye avec idle, livré avec python, ça devrait fonctionner

Avatar
Fouff
je débute sous python

quand j'écris cette ligne : print 'trouvé'
le é est remplacé par un ?
comment remédier à ce problème?
merci


Bonjour.


J'imagine que le problème survient sous windows dans la fenêtre console DOS.
Ceci est dû à un problème d'encodage des caractères de cette fenêtre.
A l'époque, j'avais ce lien : http://pythonfacile.free.fr/python/printiso.html qui me résolvait pas
mal de problèmes de ce type.
Si cela peut aider ;)

Avatar
Regis
je débute sous python

quand j'écris cette ligne : print 'trouvé'
le é est remplacé par un ?
comment remédier à ce problème?
merci


Salut


Pour tes programmes ajoute ceci en ligne de début:
# -*- coding: iso-8859-1 -*-


Exemple avec Windows:
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
#Affichage du repertoire courant
from os import chdir
from os import getcwd
# attention ici desous il faut taper TON chemin vers tes documents!
chdir("D:USERSzorglubMes documents/")
cour_directory=getcwd()
print "le répertoire courant est : ", cour_directory

Slts
Régis

Avatar
Michel Claveau
Bonjour !


C'est une question réccurente, sous Windows. Il y a eu de nombreux
messages, dans ce newsgroup, à ce sujet.


Alors :

(Si tu es sous Windows,) tente les choses suivantes :

Dans l'invite de commande (la console), tape :
CHCP 1252
puis relance ton script.

Si ça ne suffit pas, fais un clic-droit sur la barre de titre ; choisis
"Propriétés", et l'onglet "Police" ; sélectionne alors "Lucida
Console".



L'explication, c'est que, par défaut, l'invite de commande de windows
est en CP850, alors que ton script est en CP1252 (kif-kif au
ISO-8859-15, lui-même extension euro de l'ISO-8859-1, que certains
rétrogrades pro-américains utilisent encore, parfois).

Attention à un problème qui peut se présenter : Windows est nativement
Unicode + UTF-16 ; l'affichage de l'invite de commande est une
traduction, à la volée. Mais il arrive que l'affichage soit "mixte"
(mélange de plusieurs encodages, dans la même console).
On peut voir ça, en créant quelques fichiers avec des noms en Unicode,
dans un répertoire contenant d'autres fichiers, avec des noms en ANSI,
avec accents. L'affichage, avec un DIR, suit, entrainant un paradoxe
d'affichage, qui peut être gênant avec les PIPE ou des Popen...

--
@-salutations

Michel Claveau
Avatar
jean-michel bain-cornu
Bonjour,
quand j'écris cette ligne : print 'trouvé'
le é est remplacé par un ?
comment remédier à ce problème?


Pour tes programmes ajoute ceci en ligne de début:
# -*- coding: iso-8859-1 -*-

J'ajouterais que le coding doit être cohérent avec celui de l'éditeur.

Par exemple, si ton éditeur travaille en utf8, tu dois mettre 'coding:
utf8'.
La liste des encodages possibles figure en section '4.9.2 Standard
Encodings' de la documentation python.
Tu trouveras aussi des informations sur
http://wikipython.flibuste.net/moin.py/JouerAvecUnicode

A+
jm


Avatar
Méta-MCI
Bonsoir !


[HS], mais pour ton exemple, et pour éviter de devoir taper le nom de
l'utilisateur à chaque fois, tu gagnerais à utiliser l'environnement.

e.g. (inspiré de ton exemple) :

import os
os.chdir(os.environ["USERPROFILE"]+"Mes documents")
cour_directory=os.getcwd()
print "le répertoire courant est : ", cour_directory


@-salutations

Michel Claveau