Bonjour,
Je cherche à afficher des caractères latin type 'é' 'è' 'à' sur les widgets.
Et bien sur si je fais juste (text= "àccént") dans le constructeur du widget, Tk m'affiche un joli carré
Comment puis-je faire s'il vous plait ?
Merci d'avance.
Bonjour,
Je cherche à afficher des caractères latin type 'é' 'è' 'à' sur les widgets.
Et bien sur si je fais juste (text= "àccént") dans le constructeur du widget, Tk m'affiche un joli carré
Comment puis-je faire s'il vous plait ?
Merci d'avance.
Le type par défaut du texte des widgets Tkinter est le type unicode alors je pense qu'il faudrait le préciser ainsi:
cela ne vaut que pour les version inférieur a python 3 car le type par défaut de ceux-çi est le type string alors qu'en version 3 le type par défaut est l'unicode, tu peut vérifier le type de ta variable avec la primitive type qui renvoie le type de l'objet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part (text=u"àccént")
Bon python a toi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 a="texte de type string" type(a) <type 'str'> b=u"texte de type unicode" type(b) <type 'unicode'>
Salut,
C'est vrai qu'on s'y perd facilement, entre le codage du script, de la sortie console et celui de la sortie graphique. Le petit snippet ci dessous peut aider. SUr la copie d'écran, l'éditeur est sciite, python est en version 2.7 et l'OS est un windows XP32
A+
Pfeuh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #!/usr/bin/python # -*- coding: latin -*- import Tkinter root = Tkinter.Tk() words = ["azerty", u"azerty", u"héhé", "héhé"] for word in words: Tkinter.Label(root, text=word).grid() print type(word), try: print word except: print "<unprintable>" root.mainloop()![]()
Puisque tu aborde le sujet pourrait tu me mettre sur la voie qui mène vers une technique permettant d'extraire tous les caractères présent dans l'encodage des claviers latins (ISO8859-15???).
Je n'ai pas encore essayer mais l'idée me titille depuis longtemps et je ne vois pas par oû commencer: utiliser encode() ?
ou :
en faite je sais pas ou commencer concrètement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 -#!!/usr/bin/python # -*- coding: latin -*- #et puis après je sais pas...
Si ta une idée sa serai sympa.
Puisque c'est le sujet...![]()
En fait, je suis comme toi, des problèmes d'encodage, j'en ai aussi. Ce que j'ai retenu, c'est que
1- Si tu mets
au début de ton source, tous les caractères latins présents dans ton source seront correctement interprétés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 -#!!/usr/bin/python # -*- coding: latin -*-
2- A partir du moment où tu es en graphique (sous Tkinter par exemple), tout est en unicode, donc plus de problème.
Les avis plus pointus, tant pour Luke que pour moi sont les bienvenus!
Partager