Issue 1342: Python could not start if installed in a directory
with non-ascii characters.

This is the simple fix, which uses the FileSystemEncoding.
Replacing all the char* with unicode strings is a major rewrite,
and needs more thinking.
diff --git a/Python/import.c b/Python/import.c
index dadae2e..14cda6e 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -1364,19 +1364,26 @@
 		if (!v)
 			return NULL;
 		if (PyUnicode_Check(v)) {
-			v = _PyUnicode_AsDefaultEncodedString(v, NULL);
+			v = PyUnicode_AsEncodedString(v, 
+			    Py_FileSystemDefaultEncoding, NULL);
 			if (v == NULL)
 				return NULL;
 		}
-		if (!PyBytes_Check(v))
+		else if (!PyBytes_Check(v))
 			continue;
+		else
+			Py_INCREF(v);
+
 		base = PyBytes_AS_STRING(v);
 		size = PyBytes_GET_SIZE(v);
 		len = size;
 		if (len + 2 + namelen + MAXSUFFIXSIZE >= buflen) {
+			Py_DECREF(v);
 			continue; /* Too long */
 		}
 		strcpy(buf, base);
+		Py_DECREF(v);
+
 		if (strlen(buf) != len) {
 			continue; /* v contains '\0' */
 		}
@@ -3155,8 +3162,8 @@
 	if (!_PyArg_NoKeywords("NullImporter()", kwds))
 		return -1;
 
-	if (!PyArg_ParseTuple(args, "s:NullImporter",
-			      &path))
+	if (!PyArg_ParseTuple(args, "es:NullImporter",
+			      Py_FileSystemDefaultEncoding, &path))
 		return -1;
 
 	pathlen = strlen(path);