IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Canevas Texte et accents


Sujet :

Tkinter Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut Canevas Texte et accents
    Bonjour, je suis en train de créer une sorte de bloc-note avec Tkinter.
    J'utilise le canevas Texte pour cela.
    Mais j'ai rapidement heurter un problème de taille, lorsque je sauvegardait le document (en utilisant la fonction '.get' pour récupérer le texte du canevas et en le recopiant dans le fichier en question), dès que le programme rencontrait un accent, il m'affichait un code d'erreur et s'arrêtait. Ce qui est relativement gênant...
    J'ai donc isoler le code qui posait problème (avec de petite modification) pour le code plus lisible (car je suis pas un pro du code clair et parfaitement anoté).
    Le voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    # -*- coding: Latin-1 -*-
     
     
    from Tkinter import *
     
     
    def insert():
        txt.insert (END, 'été')
     
    def recup():
        txtrecup=txt.get(1.0,2.0)
        a= 'Le Texte récupéré est: '+txtrecup
        Label (f, text=a, fg='red').grid (row=2)
     
     
     
     
    f=Tk()
    txt=Text (f)
    txt.grid(row=0, columnspan=2)
    Button(f, text='Insérer "été"', command=insert).grid(row=1,column=0)
    Button(f, text='Extraire le contenu', command=recup).grid (row=1, column=1)
     
    f.mainloop()
    donc Voilà, lorsqu'on tape quoique ce soit dans le canevas texte et après que l'on fait "Extraire le contenu", le logiciel le fait sans problème. Par contre lorsqu'on lui demande d'extraire un mot avec accent, alors là il y a une grosse erreur. Par contre un autre phénomène bizarre est que lorsque j'insère un mot avec accent (ici "été") en utilisant la fonction .insert, le logiciel ne pose aucun problème.

    Donc voilà j'ai cherché par tout et je n'ai pas trouvé la solution. Je m'en remet donc à vous...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut
    Je surfais tranquillement sur Internet quand tout à coup je découvrit la réponse à ma propre question...
    Donc voilà il suffisait tout simplement de rajouter '.encode ('utf-8')' derrière la fonction .get().
    Ainsi le '.encode ('utf-8')' indique à Python qu'il doit encodé la chaîne en UTF-8 soit un encodage qui supporte les accents.
    Le code devient donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    # -*- coding: Latin-1 -*-
     
     
    from Tkinter import *
     
     
    def insert():
        txt.insert (END, 'été')
     
    def recup():
        txtrecup=txt.get(1.0,2.0).encode ('utf-8')
        a= 'Le Texte récupéré est: '+txtrecup
        Label (f, text=a, fg='red').grid (row=2)
     
     
     
     
    f=Tk()
    txt=Text (f)
    txt.grid(row=0, columnspan=2)
    Button(f, text='Insérer "été"', command=insert).grid(row=1,column=0)
    Button(f, text='Extraire le contenu', command=recup).grid (row=1, column=1)
     
    f.mainloop()
    Voilà

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Full text et accent
    Par webperso dans le forum Outils
    Réponses: 3
    Dernier message: 13/07/2007, 16h35
  2. Fichier texte et accents
    Par jaybriss dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 27/07/2006, 19h39
  3. [Regex] Vérifier un texte avec accents
    Par supermanu dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 09/10/2005, 15h29
  4. [SYBASE] Texte avec accents
    Par vsavoir dans le forum Sybase
    Réponses: 6
    Dernier message: 14/02/2005, 16h50
  5. Fichiers texte sans accents
    Par mika dans le forum Langage
    Réponses: 5
    Dernier message: 03/11/2004, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo