updated for version 7.4a.008
Problem:    Python 3 doesn't handle multibyte characters prooperly when
            'encoding' is not utf-8.
Solution:   Use PyUnicode_Decode() instead of PyUnicode_FromString(). (Ken
            Takata)
diff --git a/src/if_python3.c b/src/if_python3.c
index 8a7a3a4..8a5b332 100644
--- a/src/if_python3.c
+++ b/src/if_python3.c
@@ -86,7 +86,8 @@
 #ifndef PyString_Check
 # define PyString_Check(obj) PyUnicode_Check(obj)
 #endif
-#define PyString_FromString(repr) PyUnicode_FromString(repr)
+#define PyString_FromString(repr) \
+    PyUnicode_Decode(repr, STRLEN(repr), ENC_OPT, NULL)
 #define PyString_FromFormat PyUnicode_FromFormat
 #ifndef PyInt_Check
 # define PyInt_Check(obj) PyLong_Check(obj)