Paths and file names from the fs should always be decoded with PyUnicode_DecodeFSDefault and not PyUnicode_FromString
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 6fcbe75..b77d184 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -1072,11 +1072,12 @@
SET_SYS_FROM_STRING("platform",
PyUnicode_FromString(Py_GetPlatform()));
SET_SYS_FROM_STRING("executable",
- PyUnicode_FromString(Py_GetProgramFullPath()));
+ PyUnicode_DecodeFSDefault(
+ Py_GetProgramFullPath()));
SET_SYS_FROM_STRING("prefix",
- PyUnicode_FromString(Py_GetPrefix()));
+ PyUnicode_DecodeFSDefault(Py_GetPrefix()));
SET_SYS_FROM_STRING("exec_prefix",
- PyUnicode_FromString(Py_GetExecPrefix()));
+ PyUnicode_DecodeFSDefault(Py_GetExecPrefix()));
SET_SYS_FROM_STRING("maxint",
PyInt_FromLong(PyInt_GetMax()));
SET_SYS_FROM_STRING("maxsize",