Hello,
I've looked into the Windows implementation of ComposeNativeTray, and it appears the functions call the A (ANSI) versions of the Windows API, which depends on the user's system locale. During my testing, it worked fine initially.
However, when I using it with other libraries (e.g., Steamworks https://partner.steamgames.com/doc/sdk), I had to set the UTF-8 environment via System.setProperty("jna.encoding", "UTF-8") when initializing their DLL. This seems to interfere with ComposeNativeTray, causing Chinese characters to display as garbled text.

Is there a better way to support Unicode, such as switching to the wide-character (UTF-16) Windows API instead?
Hello,
I've looked into the Windows implementation of ComposeNativeTray, and it appears the functions call the A (ANSI) versions of the Windows API, which depends on the user's system locale. During my testing, it worked fine initially.
However, when I using it with other libraries (e.g., Steamworks https://partner.steamgames.com/doc/sdk), I had to set the UTF-8 environment via
System.setProperty("jna.encoding", "UTF-8")when initializing their DLL. This seems to interfere with ComposeNativeTray, causing Chinese characters to display as garbled text.Is there a better way to support Unicode, such as switching to the wide-character (UTF-16) Windows API instead?