das leidige Thema: Zeichensatz

Plattformunabhängige GUIs mit wxWidgets.
sprudel
User
Beiträge: 245
Registriert: Donnerstag 8. März 2007, 17:12

das leidige Thema: Zeichensatz

Beitragvon sprudel » Dienstag 10. April 2007, 21:46

Hallo.
Ich bekomme in meinem Code folgende Fehlermeldung:

Code: Alles auswählen

Traceback (most recent call last):
  File "J:/Programmierung und Entwicklung/Python/Programmierdateien/ClickR/start.pyw", line 324, in Save_DB
    print str(klasse.List.GetText(i,2))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

Was muss ich da machen? Ist das eine WxWidgets-eigene Funktion, weil überall anders kann ich Umlaute verwenden. Ich kann sie auch in ein wx.StaticText schreiben.
Außerdem steht folgendes am Anfang von meinem Code:
wx.SetDefaultPyEncoding("utf-8")

Bin echt noch am verzweifeln.
joost
gelöscht
Beiträge: 134
Registriert: Sonntag 29. April 2007, 13:28

Beitragvon joost » Donnerstag 3. Mai 2007, 23:28

Auf einen schnellen Blick auf den Code hin würde ich sagen, dass das Problem hier vielleicht durch das str(...) entsteht - wozu steht das eigentlich da ?
Never use idle.pyw, if you need sys.stdin
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Freitag 4. Mai 2007, 07:23

Im Ergebniss von klasse.List.GetText(i,2) kommen nicht ASCII Zeichen vor (z.B. deutsche Umlaute)... str() versucht aber nach ASCII zu wandeln und stolpert dann über nicht ASCII Zeichen...

Das Ergebniss muß erst mit dem passenden codec umgewandelt werden. Welcher das für die Sache ist, weiß ich natürlicht. i.d.R. sind latin-1 oder utf8 gute Kandidaten ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]