Index: Python/bltinmodule.c =================================================================== --- Python/bltinmodule.c (révision 81157) +++ Python/bltinmodule.c (copie de travail) @@ -1618,6 +1618,7 @@ if (promptarg != NULL) { PyObject *stringpo; PyObject *stdout_encoding; + char *stdout_encoding_str; stdout_encoding = PyObject_GetAttrString(fout, "encoding"); if (stdout_encoding == NULL) { @@ -1630,8 +1631,17 @@ Py_DECREF(stdout_encoding); return NULL; } + if (stdout_encoding != Py_None) + stdout_encoding_str = _PyUnicode_AsString(stdout_encoding); + else + stdout_encoding_str = "utf-8"; + if (stdout_encoding_str == NULL) { + Py_DECREF(stdin_encoding); + Py_DECREF(stdout_encoding); + return NULL; + } po = PyUnicode_AsEncodedString(stringpo, - _PyUnicode_AsString(stdout_encoding), NULL); + stdout_encoding_str, NULL); Py_DECREF(stdout_encoding); Py_DECREF(stringpo); if (po == NULL) {