Het hoofdstuk over Unicode uit Dive Into Python is sowieso ook erg nuttig: http://diveintopython.org/xml_processing/unicode.html
Je kan middels de file sitecustomize.py (ergens in je python path) er ook voor zorgen dat je default encoding op UTF-8 staat: # sitecustomize.py # this file can be anywhere in your Python path, # but it usually goes in ${pythondir}/lib/site-packages/ import sys sys.setdefaultencoding('utf-8') Maareh mysql ondersteunt toch ook UTF-8? Remco On 12/21/06, eric casteleijn <[EMAIL PROTECTED]> wrote: > Armijn Hemel wrote: > > beste Pythonettes, > > > > > > het volgende is iets waarvan ik vrees dat het een beginnersiets is, maar > > ik zit al de hele middag m'n hoofd erop te breken. > > > > Met PyExpat (uit xml.dom.ext.reader) trek ik een XML bestand uit elkaar, > > met XPath. De resultaten hiervan bevatten karakters die niet in de standaard > > ASCII karakterset zitten en waarvoor je allemaal extra toetsen nodig hebt, > > die niet op mijn oude SGI toetsenbord met US layout zitten ;-) > > > > In ieder geval, ik wil die strings graag netjes geescapet hebben (het moet > > namelijk een MySQL databeest in), maar MySQLdb.escape_string() vindt dat > > niet > > echt lief: > > > > UnicodeEncodeError: 'ascii' codec can't encode character u'\xb2' in > > position 101: ordinal not in range(128) > > Wat dit betekent is dat je een unicode string hebt (dat klopt dus) en > die probeert te encoden in een encoding die geen non-ascii karakters aan > kan. Wat je in zo'n geval wilt doen is encoden naar een andere encoding > door zoiets te doen als: > > output = jouwstring.encode('UTF-8') > > (die 'UTF-8' kan ook een andere encoding zijn natuurlijk, je moet even > kijken wat je database wil hebben.) > > De ervaring leert met unicode en python dat het vrij goed gaat met de > volgende regels: > > - decodeer input naar unicode op het vroegst mogelijke moment, dus > direct als je form informatie binnenkrijgt bijvoorbeeld. (Soms handelt > je applicatie framework dit al af, da's helemaal mooi.) > > - encodeer output op het laatst mogelijke moment. > > en werk verder altijd met unicode strings, dan doet python alles vanzelf > goed. > > -- > - eric casteleijn > http://infrae.com > _______________________________________________ > Python-nl mailing list > Python-nl@python.org > http://mail.python.org/mailman/listinfo/python-nl > _______________________________________________ Python-nl mailing list Python-nl@python.org http://mail.python.org/mailman/listinfo/python-nl