https://bugs.winehq.org/show_bug.cgi?id=48174
--- Comment #15 from Vincent Povirk madewokherd@gmail.com --- It's possible that other parts of Mono rely on the Ansi functions using UTF8. If so, they'll just have to be updated to use the UTF8 functions instead. I ran the full test suite with this change and didn't find any cases like that (but it did find some bugs in my code).
I don't plan on committing this to 4.9.x for that reason (and also there's a good chance we won't have any more 4.9.x releases).
I pushed the change to master, since it is passing the tests.
It's also possible that something depends on Marshal Ansi functions working the same as Encoding.Default but doesn't really care what the default encoding is. Encoding.Default in Mono is still UTF8, but on Windows it matches the value of CP_ACP. Still, I don't think that's a likely scenario, and I hope to fix it before wine-mono 5.0 anyway.