With %TEMP% outside ASCII (a profile like C:\Users\José), three tests
fail on Windows because they mix the two narrow encodings: MinGW's
std::filesystem::path::string() is UTF-8, while fopen, getenv and console
tools use the ANSI or OEM code page.
- guest_system_font opened its stderr capture file with
fopen(path.string()); it now uses _wfopen on Windows.
- The exec_arguments fixture built the second program's environment from
getenv, which returns ANSI bytes that execve rejects as invalid UTF-8;
it now reads LD_LIBRARY_PATH and ANYPS5_LOADEXEC_TEST_ROOT as UTF-8
through GetEnvironmentVariableW.
- unwrap_self decoded icacls output as UTF-8 (Python 3.15 UTF-8 mode);
icacls writes the OEM code page, so it is decoded as "oem".
Co-Authored-By: Claude Opus 5.5 <[email protected]>