Problem mit umlauten in Entry

Fragen zu Tkinter.
Antworten
Aydan
User
Beiträge: 13
Registriert: Mittwoch 24. Mai 2006, 13:08

Hi,

ich hab hier ein ganz seltsames problem mit Umlauten:
Wenn ich sie aus einer Datei lese und in ein Widget (Listbox oder Entry) schreibe und dann wieder aus dem Widget in eine Datei schreibe dann hab ich keine Probleme.
Wenn ich allerdings per Hand einen Umlaut in ein Entry eingebe bekomm ich einen Encodingerror beim speichern, obwohl der String im Widget identisch aussieht.
Wenn ich einen existierenden String mit Umlaut editiere, und den Umlaut in Ruhe lasse, dann ist's auch OK.

verwirrte Grüße
Aydan
Flano
User
Beiträge: 43
Registriert: Sonntag 5. September 2004, 14:13

Hi Aydan,
habe dasselbe Problem! Bis lang habe ich mir so geholfen. Will ich einen neu eingegebenen Text in eine Datei abspeichern verwende ich 'iso-8859-15'. Habe ich den Text aus einer Datei eingelesen verwende ich es nicht. Durch try/except kommt immer automatisch das Richtige bei rum. Das ganze sieht dann so aus:

Code: Alles auswählen

self.text = self.entry.get()
try:
     self.file.write(self.text.encode('iso-8859-15')
except:
     self.file.write(self.text)
Das ist sicherlich nicht elegant, aber es scheint zu funktionieren.

Gruss Flano
Aydan
User
Beiträge: 13
Registriert: Mittwoch 24. Mai 2006, 13:08

Danke für den Tip, werds mal probieren.
Antworten