Seite 1 von 1

das leidige Thema: Zeichensatz

Verfasst: Dienstag 10. April 2007, 21:46
von sprudel
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.

Verfasst: Donnerstag 3. Mai 2007, 23:28
von joost
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 ?

Verfasst: Freitag 4. Mai 2007, 07:23
von jens
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 ;)