John Nagle wrote:
> Benjamin wrote:
>> On Jan 14, 6:26 pm, Bjoern Schliessmann <usenet-
>> [EMAIL PROTECTED]> wrote:
>>> John Nagle wrote:
>>>> It turns out that the strings in the "env" parameter have to be
>>>> ASCII, not Unicode, even though Windows fully supports Unicode in
>>>> CreateProcess.
That's of course nonsense, they don't need to be ascii, they need to be
byte-strings in whatever encoding you like.
>>> Are you sure it supports Unicode, not UTF8 or UTF16? Probably using
>>> something like u"thestring".encode("utf16") will help.
>> Otherwise: bugs.python.org
John's understanding of the differences between unicode and it's encodings
is a bit blurry, to say the least.
> Whatever translation is necessary should be done in "popen", which
> has cases for Windows and POSIX. "popen" is supposed to be cross-platform
> to the extent possible. I think it's just something that didn't get fixed
> when Unicode support went in.
Sure thing, python will just magically convert unicode to the encoding the
program YOU invoke will expect. Right after we introduced the
solve_my_problem()
built-in-function. Any other wishes?
If I write this simple program
------ test.py -------
import os
import sys
ENCODDINGS = ['utf-8', 'latin1']
os.env["MY_VARIABLE"].encode(ENCODINGS[int(sys.argv[1])])
------ test.py -------
how's python supposed to know that
suprocess.call("python test.py 0", env=dict(MY_VARIABLE=u'foo'))
needs to be UTF-8?
Diez
--
http://mail.python.org/mailman/listinfo/python-list