[Python-de] UNICODE

M.-A. Lemburg mal at lemburg.com
Wed Jun 13 15:02:27 EDT 2001


> Sven Tunnermann wrote:
> 
> Hi Zusammen!
> 
> Wer kann mir bei dem Sch... ASCII Encoding Error Ordinal not in Range(128) helfen? Ich bin am Durchdrehen.
> 
> Ich benutze Active Python 2.0 und sobald ein Umlaut im Spiel ist, gibt es den Fehler.
> 
> Innerhalb der ASP Seite habe ich die Sache schon einigermaßen im Griff, aber nun hole ich mir ein Datenbankfeld via ADODB.Recordset aus der Datenbank und will den Inhalt in eine Textdatei schreiben und da kommt er mir auch schon mit diesem wunderschönen
> Fehler, der mir sowas von aus dem Hals hängt!
> 
> Also, wie Ihr seht bin ich dem psychischem Ende nah und bitte Euch um Eure Hilfe!
> 

Python benutzt ASCII als Default-Encoding, d.h. beim Konvertieren
von Unicode in Textdateien wird der Inhalt zunächst nach ASCII
konvertiert.

Bei Umlauten geht ASCII die Puste aus und daher kommt dann
der Fehler.

Am einfachsten ist es, die Unicode Objekte erst nach Latin-1
zu konvertieren und die daraus resultierenden String Objekte
in die Datei zu schreiben:

unicodedata = query_database()
stringdata = unicodedata.encode('latin-1')
open(...).write(stringdata)

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                        http://www.lemburg.com/python/



More information about the Python-de mailing list