Seite 1 von 1

Zeichensatzchaos Unicode vs. ISO 8859-1

Verfasst: Dienstag 8. Oktober 2002, 22:58
von hans
Da hat mich gleich das nächste Prob eingeholt. Ich habe einen String vom Type QString. Ich habe kein Prob, einen Python String an QT zu übergeben. Aber wie mache ich die Roll rückwärts?

Alle versuche enden bisher leider in der FehlerMeldung:
Traceback (most recent call last):
File "./norpytar.py", line 66, in onFileActivated
self.saveLogFile()
File "./norpytar.py", line 557, in saveLogFile
for _s in str(unicode(self.Log.text(), 'iso8859-1')):
File "/usr/lib/python2.1/site-packages/qt.py", line 320, in __str__
return str(self.sipThis)
UnicodeError: ASCII encoding error: ordinal not in range(128)
Der dazugehörige Code sieht so aus:

Code: Alles auswählen

  def saveLogFile(self):
    s = str(self.FileDlg.getSaveFileName(FN, "Save Log File (*.log)",self))
    if len(s) != 0:
      fd=open(s, 'w')
      for _s in str(unicode(self.Log.text(), 'iso8859-1')):
        #_s=unicode(_s, 'iso8895-1')
        fd.writeline(_s)
      fd.close()
Hat jemand ne Idee für mich?

Hans

Verfasst: Donnerstag 10. Oktober 2002, 18:26
von hans
Hey, schreibt Ihr alle nur in Windows und deutsch? Mir war so als wenn QT Unicode und Linux in deutscher Umgebung ISO8859-1 oder IS8859-15 nutzt. Da muß es doch was an Zeichensatzkonvertierungen geben.

Hans

Verfasst: Donnerstag 10. Oktober 2002, 20:26
von hans
Hi, ich bin ja ein klein wenig weitergekommen.

Also in QString sind Funktionen wie setLatin1() und local8Bit() implementiert. Nur wie wendet man das an? Die Onlinedatenbank von Trolltech hat mich auch nicht gerade weiter gebracht.

Nach 1 1/2 Stunden an Fehlermeldungen bin ich reif für Minimum ein Flasche Hochprozentigem :?

Hans

Verfasst: Freitag 11. Oktober 2002, 00:09
von hans
Da muss einer bekloppt sein......................

Jedenfalls habe ich's geschafft. Zusehen unter http://python.normann-live.de (Nor8Bit). Ich werde es noch ein bisschen Aufmotzen und dann in die Codebase verschieben. Aber nicht mehr heute.

Werde mir nämlich jetzt einen gesunden Tiefschlaf gönnen

Hans :mrgreen: