[Python] accents avec wxPython - utf8 ?
Résolu/Fermé
MyDomDom
Messages postés
7
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
11 juillet 2007
-
1 juin 2007 à 16:28
yeahyeah - 15 juil. 2009 à 19:25
yeahyeah - 15 juil. 2009 à 19:25
A voir également:
- [Python] accents avec wxPython - utf8 ?
- E avec accent - Guide
- Citizen code python avis - Accueil - Outils
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Trouver la position d'un élément dans une liste python ✓ - Forum Python
4 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
1 juin 2007 à 17:16
1 juin 2007 à 17:16
Est-ce bien comme cela qu'il faut que je fasse ?
Tout à fait !
C'est très bien d'utiliser Unicode de bout en bout dans tes développements.
NB: Le source n'a pas à être obligatoirement en utf-8. Perso je met mes sources en iso-8859-1.
Sous MacOS X je ne sais pas, mais je n'ai aucun problème pour afficher les accents sous Windows (XP) et Linux (Ubuntu 7.04);
Si je prend l'appli d'exemple https://www.sebsauvage.net/python/gui/simpleapp_wx.py
Je peux entrer des accents, et ils sont correctement affichés dans le label.
Est-ce que les accents s'affichent aussi correctement chez toi avec ce programme ?
Note: il n'est pas impossible que certains widgets de wxPython ne gèrent pas correctement l'Unicode.
Tout à fait !
C'est très bien d'utiliser Unicode de bout en bout dans tes développements.
NB: Le source n'a pas à être obligatoirement en utf-8. Perso je met mes sources en iso-8859-1.
Sous MacOS X je ne sais pas, mais je n'ai aucun problème pour afficher les accents sous Windows (XP) et Linux (Ubuntu 7.04);
Si je prend l'appli d'exemple https://www.sebsauvage.net/python/gui/simpleapp_wx.py
Je peux entrer des accents, et ils sont correctement affichés dans le label.
Est-ce que les accents s'affichent aussi correctement chez toi avec ce programme ?
Note: il n'est pas impossible que certains widgets de wxPython ne gèrent pas correctement l'Unicode.
MyDomDom
Messages postés
7
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
11 juillet 2007
1 juin 2007 à 18:47
1 juin 2007 à 18:47
Seb,
Je te dirai lundi (le mac est au boulot!). Chez moi, sous XP, tout passe.
Merci de ta réponse, rapide en plus, et de toutes tes pages web.
Je suis sûr que plein de gens comme moi s'en servent régulièrement, sans jamais un merci.
Alors merci de faire profiter les autres de tes bons conseils.
Quand on apprend tout seul comme je l'ai fait, heureusement qu'il y a des gens comme toi pour aider parce que j'en ai passé des heures à ramer....
J'arrête le cirage, on va croire que c'est toi qui fait les questions et les réponses.... Mais c'est sincère.
Je reviens lundi pour conclure sur cette discussion
Merci
Dominique
Je te dirai lundi (le mac est au boulot!). Chez moi, sous XP, tout passe.
Merci de ta réponse, rapide en plus, et de toutes tes pages web.
Je suis sûr que plein de gens comme moi s'en servent régulièrement, sans jamais un merci.
Alors merci de faire profiter les autres de tes bons conseils.
Quand on apprend tout seul comme je l'ai fait, heureusement qu'il y a des gens comme toi pour aider parce que j'en ai passé des heures à ramer....
J'arrête le cirage, on va croire que c'est toi qui fait les questions et les réponses.... Mais c'est sincère.
Je reviens lundi pour conclure sur cette discussion
Merci
Dominique
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
1 juin 2007 à 20:09
1 juin 2007 à 20:09
:-)
De rien.
Je suis sûr que plein de gens comme moi s'en servent régulièrement, sans jamais un merci.
Les quelques mercis qu'on reçoit compensent ceux qui manquent :-)
De rien.
Je suis sûr que plein de gens comme moi s'en servent régulièrement, sans jamais un merci.
Les quelques mercis qu'on reçoit compensent ceux qui manquent :-)
MyDomDom
Messages postés
7
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
11 juillet 2007
4 juin 2007 à 15:15
4 juin 2007 à 15:15
Seb / Tous,
C'est ok. Ca marche aussi sur mac.
Je n'ai plus (pour l'instant du moins) de différence de rendu pc mac.
Conclusion pour ceux qui auraient à gérer les accents:
1/On code le fichier en iso8859-1 ou utf8 sur 1 des 2 premières lignes:
# -*- coding: utf-8 -*-
2/ On gère TOUTES les strings avec un u devant pour éviter les conflits:
maStringUnicode=u" ceci est un test: éèàç"
3/ Quand on a à utiliser des vraies strings non unicodes (par ex pour des "".join() ...), on prend la string unicode et on la recode en ascii:
maStringAscii=maStringUnicode.encode('iso-8859-1')
4/ On la remet en unicode avec:
maStringUnicode=maStringAscii.decode('iso-8859-1')
Voilà.
Pas dur, mais quand on ne sait pas, ce n'est pas facile
Grand Merci à Seb
Dominique
C'est ok. Ca marche aussi sur mac.
Je n'ai plus (pour l'instant du moins) de différence de rendu pc mac.
Conclusion pour ceux qui auraient à gérer les accents:
1/On code le fichier en iso8859-1 ou utf8 sur 1 des 2 premières lignes:
# -*- coding: utf-8 -*-
2/ On gère TOUTES les strings avec un u devant pour éviter les conflits:
maStringUnicode=u" ceci est un test: éèàç"
3/ Quand on a à utiliser des vraies strings non unicodes (par ex pour des "".join() ...), on prend la string unicode et on la recode en ascii:
maStringAscii=maStringUnicode.encode('iso-8859-1')
4/ On la remet en unicode avec:
maStringUnicode=maStringAscii.decode('iso-8859-1')
Voilà.
Pas dur, mais quand on ne sait pas, ce n'est pas facile
Grand Merci à Seb
Dominique
MyDomDom
Messages postés
7
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
11 juillet 2007
4 juin 2007 à 15:45
4 juin 2007 à 15:45
Petit code au cas où:
Ciao
Dominique
# -*- coding: utf-8 -*- maStringUnicode=u'Ceci est un test: é è à ç § & ' print maStringUnicode, type(maStringUnicode) maStringAscii=maStringUnicode.encode('iso-8859-1') print maStringAscii, type(maStringAscii) maStringUnicode=maStringAscii.decode('iso-8859-1') print maStringUnicode, type(maStringUnicode) # Si on a un int monInt=5 print monInt,type(monInt) print 'Est-ce un int ? ',isinstance(monInt,int) monInt=str(monInt).decode('iso-8859-1') print 'Est-ce encore un int ? ',isinstance(monInt,int), '.C\'est un ',type(monInt)
Ciao
Dominique
yeahyeah
>
MyDomDom
Messages postés
7
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
11 juillet 2007
15 juil. 2009 à 19:25
15 juil. 2009 à 19:25
merci merci merci
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
4 juin 2007 à 23:10
4 juin 2007 à 23:10
Merci du retour.