On Tue, 04 Jan 2011 03:44:53 +0100
Victor Stinner <victor.stin...@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.


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to