Bug #5812
openSendMessage doesn't support Unicode
0%
Description
I was wondering why SendMessage wasn't working as expected with AdiIRC - it seems that even if the Unicode flag is enabled, AdiIRC doesn't read/write to the page file in Unicode.
It looks like AdiIRC is still reading and writing in either Latin1 / UTF8 (I didn't check outside of the Latin1 character set)
Using WM_MEVALUATE with WPARAM and LPARAM with the page file containing "Client version is $version on Win $+ $os $chr(169)" (in Unicode format)
Window Title: AdiIRC
Result (UTF8): Ok("C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
Result (Unicode): C
Message sent
Window Title: mIRC
Result (UTF8): Ok("C\0l\0i\0e\0n\0t\0 \0v\0e\0r\0s\0i\0o\0n\0 \0i\0s\0 \07\0.\07\08\0 \0o\0n\0")
Result (Unicode): Client version is 7.78 on Win11 ©
Updated by JD Byrnes 19 days ago · Edited
Fixed read length for UTF8 data in my code (doesn't change the bug, just the output)
Initial Data Sent:
Result (UTF8): Ok("C\0l\0i\0e\0n\0t\0 \0v\0e\0r\0s\0i\0o\0n\0 \0i\0s\0 \0$\0v\0e\0r\0s\0i\0o\0n\0 \0o\0n\0 \0W\0i\0n\0 \0$\0+\0 \0$\0o\0s\0")
Result (Unicode): Client version is $version on Win $+ $os
Window Title: AdiIRC
Result (UTF8): Ok("C")
Result (Unicode): C
Window Title: mIRC
Result (UTF8): Ok("C\0l\0i\0e\0n\0t\0 \0v\0e\0r\0s\0i\0o\0n\0 \0i\0s\0 \07\0.\07\08\0 \0o\0n\0 \0W\0i\0n\01\01\0")
Result (Unicode): Client version is 7.78 on Win11
Updated by JD Byrnes 18 days ago · Edited
Related:
It might be worth noting that without the Unicode flag set, mIRC appears to handle data as UTF-8. AdiIRC uses a different codepage, which seems to destroy emoji etc.
- Tried sending UTF8 data (non Unicode) and AdiIRC converts to ?????? while mIRC returns UTF-8 data.