Looks good and the "patched" patch also works in a py3k installer build.
BTW, Mark, I was curious as to why you were unable to reproduce the
problem with your own build. I should have mentioned that my testing
was with complete installer (framework) builds. I subsequently
experimented with a non-framework build and found that I could not
reproduce the problem running from the ./python in the build directory.
Stepping through gdb showed that, during the calls from create_stdio,
the import of locale fails in textio.c, so it falls back to using
"ascii" as the default encoding (~line 899) and avoids the crash. If I
do a make install, the unpatched installed bin/python3 does crash in the
same way as with the installer python3.