diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-10-23 11:51:21 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-10-23 11:51:21 +0400 |
commit | f5b37d40ca51f71bed5d588f2c887bf12ab4ebdc (patch) | |
tree | 61d627cfad5d65fee1cda657128a0eb12187667a /source/blender | |
parent | fcb88306b4794e75114038cdc90026ffa3b375fc (diff) |
set pythons 'sys.stdout' encoding to utf-8 and use surrogateescape error handler.
without this printing a unicode string may raise an error which is a real pain especially since script authors often forget this and print the path of a file for example on export which can make a script fail outright when writing to paths with certain encodings.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/python/intern/bpy_interface.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index cfd8d9f433b..a96b8209d91 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -203,6 +203,13 @@ void BPY_python_start(int argc, const char **argv) /* allow to use our own included python */ PyC_SetHomePath(BLI_get_folder(BLENDER_SYSTEM_PYTHON, NULL)); + /* without this the sys.stdout may be set to 'ascii' + * (it is on my system at least), where printing unicode values will raise + * an error, this is highly annoying, another stumbling block for devs, + * so use a more relaxed error handler and enforce utf-8 since the rest of + * blender is utf-8 too - campbell */ + BLI_setenv("PYTHONIOENCODING", "utf-8:surrogateescape"); + /* Python 3.2 now looks for '2.xx/python/include/python3.2d/pyconfig.h' to * parse from the 'sysconfig' module which is used by 'site', * so for now disable site. alternatively we could copy the file. */ |