De kern van mijn probleem verwatert een beetje:
hoe ziet het python script er uit dat een euro teken produceert
als je niet van te voren weet waar de uitvoer naar toe gaat,
een text console, een grafische console of een bestand.
egbert

In principe:

In python gebruik je *altijd* unicode strings, en nooit encodings. Als er text de applicatie binnenkomt, decodeer je die onmiddelijk (als het goed is weet je in welke encoding de tekst binnenkomt) en pas op het allerlaatst mogelijke moment voordat je tekst naar een display, of iets anders stuurt dat een encoding vereist, encodeer je weer, en dan naar de encoding die die display nodig heeft.

Dus, in je python script doe je gewoon:

euro = u'€'

en als je ooit naar iets moet printen wat een encoding verwacht, dan doe je bijvoorbeeld:

print euro.encode('utf-8')

Dit is de enige manier om te voorkomen dat je enorme hoofdpijn bugs krijgt met dubbele en-/decodings.

--
- eric casteleijn
http://infrae.com

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Python-nl mailing list
Python-nl@python.org
http://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan