patch 8.1.0879: MS-Windows: temp name encoding can be wrong
Problem: MS-Windows: temp name encoding can be wrong.
Solution: Convert from active code page to 'encoding'. (Ken Takata,
closes #3520, closes #1698)
diff --git a/src/fileio.c b/src/fileio.c
index bf724f6..446ae7e 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -7470,6 +7470,24 @@
for (p = retval; *p; ++p)
if (*p == '\\')
*p = '/';
+
+#if defined(FEAT_MBYTE) && defined(WIN3264)
+ if (enc_utf8)
+ {
+ int len;
+ char_u *pp = NULL;
+
+ // Convert from active codepage to UTF-8 since mch_call_shell()
+ // converts command-line to wide string from encoding.
+ acp_to_enc(retval, (int)STRLEN(retval), &pp, &len);
+ if (pp != NULL)
+ {
+ vim_free(retval);
+ return pp;
+ }
+ }
+#endif
+
return retval;
# else /* WIN3264 */