Encoder text widget en utf8 tkinter - python

codeur782 -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Je ne trouve aucune solution sur internet expliquant comment encoder le contenu d'un widget Text en utf-8. Mon logiciel envoie des mails mais indique une erreur lorsque le widget Text contient des caracteres accentués, ou ne les prend pas en compte. Quelqu'un peut-il m'aider ?
Merci d'avance

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Bonjour,

    Je n'ai pas trop compris quel était ton problème, essaye ce bout de code :

    import tkinter as tk
    
    def callback(entry):
        text = entry.get()
        print(text, type(text))
        text_utf8 = text.encode("utf-8")
        print(text_utf8, type(text_utf8))
                             
    root = tk.Tk()
    entry = tk.Entry(root, width=10)
    entry.insert(tk.END, "Hélène")
    entry.pack()
    button = tk.Button(text="Click me", command=lambda: callback(entry))
    button.pack()
    root.mainloop()


    ... retourne, quand on clique sur le bouton :

    KeyboardInterrupt

    Hélène <class 'str'>
    b'H\xc3\xa9l\xc3\xa8ne' <class 'bytes'>


    Bonne chance
    0