On Tue, 04 Jan 2011 03:44:53 +0100 Victor Stinner <victor.stinner at haypocalc.com> wrote: > def wsgi_string(u): > # Convert an environment variable to a WSGI "bytes-as-unicode" > string > return u.encode(enc, esc).decode('iso-8859-1') > > def run_with_cgi(application): > environ = {k: wsgi_string(v) for k,v in os.environ.items()} > environ['wsgi.input'] = sys.stdin > environ['wsgi.errors'] = sys.stderr > environ['wsgi.version'] = (1, 0) > ... > -------------- > > What is this horrible encoding "bytes-as-unicode"? os.environ is > supposed to be correctly decoded and contain valid unicode characters. > If WSGI uses another encoding than the locale encoding (which is a bad > idea), it should use os.environb and decodes keys and values using its > own encoding. > > If you really want to store bytes in unicode, str is not the right type: > use the bytes type and use os.environb instead. +1. We should minimize such reencoding dances, and avoid promoting them. Regards Antoine.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4