https://bugs.winehq.org/show_bug.cgi?id=51306
Bug ID: 51306 Summary: Wine-Mono doesn't show Japanese text (DllImport issue?). Product: Wine Version: 6.11 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: mscoree Assignee: wine-bugs@winehq.org Reporter: sagawa.aki+winebugs@gmail.com Distribution: ---
Created attachment 70171 --> https://bugs.winehq.org/attachment.cgi?id=70171 source and executable.
I wrote and ran a short program attached with Wine 6.11 and Wine Mono 6.20. But, it didn't work as expected. The code calls kernel32's GetDateFormatA by DllImport feature. I guess Wine-Mono's DllImport doesn't handle Japanese ANSI code page well.
Steps to reproduce: 1. If your 'locale -a' doesn't show ja_JP.utf8, add Japanese locale support to your environment. 2. Run today.exe on Japanese locale with wine, i.e. LANG=ja_JP.UTF-8 wine today.exe
Expected result: Message window shows today's date text in Japanese, e.g. 2021年6月21日.
Actual result: Message window appears, but shows no message text.
Remarks: If we use CharSet.Unicode instead, it works properly.
https://bugs.winehq.org/show_bug.cgi?id=51306
Jactry Zeng jactry92@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jactry92@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=51306
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=51306
--- Comment #1 from Esme Povirk madewokherd@gmail.com --- It probably expects utf8 instead of the ANSI code page.
https://bugs.winehq.org/show_bug.cgi?id=51306
--- Comment #2 from Esme Povirk madewokherd@gmail.com --- Relevant code:
https://github.com/mono/mono/blob/284cb67f65098660f5764c8044f42c098cbe8934/m...
It seems ANSI marshaling was never really implemented, and they use UTF8.
https://bugs.winehq.org/show_bug.cgi?id=51306
--- Comment #3 from Esme Povirk madewokherd@gmail.com --- I wrote a fix: https://github.com/madewokherd/wine-mono/pull/107
Not yet committed because LPStr is used a lot, and changing it might break things.
https://bugs.winehq.org/show_bug.cgi?id=51306
Sagawa sagawa.aki+winebugs@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Ubuntu Keywords| |source, testcase
--- Comment #4 from Sagawa sagawa.aki+winebugs@gmail.com --- Thanks for the fix. I'll try it.
https://bugs.winehq.org/show_bug.cgi?id=51306
--- Comment #5 from Esme Povirk madewokherd@gmail.com --- It passed the existing tests, but the new test failed on Windows due to heap corruption.
https://bugs.winehq.org/show_bug.cgi?id=51306
--- Comment #6 from Esme Povirk madewokherd@gmail.com --- I fixed the test case and pushed this to the develop branch. There's a risk that introducing a mismatch in string conversion via different methods will cause some problems, but I think we'll just have to deal with them as they come up.
https://bugs.winehq.org/show_bug.cgi?id=51306
--- Comment #7 from Sagawa sagawa.aki+winebugs@gmail.com --- Using develop branch, wine-mono-6.2.0-21-g9f38db6, I can confirm attached test case works fine. I'll mark this issue as fixed when the next release is ready.
https://bugs.winehq.org/show_bug.cgi?id=51306
--- Comment #8 from Esme Povirk madewokherd@gmail.com --- CI build link for completeness: https://github.com/madewokherd/wine-mono/actions/runs/986989503
https://bugs.winehq.org/show_bug.cgi?id=51306
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |451a54bc7a77b8b816f28ad1c61 | |5745e650586ae Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #9 from Esme Povirk madewokherd@gmail.com --- Fixed in Wine Mono 6.3.0.
https://bugs.winehq.org/show_bug.cgi?id=51306
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.14.