https://bugs.winehq.org/show_bug.cgi?id=54565
--- Comment #1 from François Gouget fgouget@codeweavers.com --- No matter the locale, WideCharToMultiByte() has no trouble converting the \fffb character to either the replacement character, or to the right UTF-8 equivalent.
But EM_GETSELTEXT has trouble with this character (and others in the \ffxx range). Already in the en_AE + UTF-8 locale one gets:
"\xfffb" -> "" "\xfffb\xfffb" -> " " "a\xfffb" -> "a" "a\xfffb""b" -> "a " "\xfffb""b" -> " "
But in Hindi there's only one result: "" + ERROR_INVALID_PARAMETER. It's not clear why but Windows' EM_GETSELTEXT implementation is clearly broken in some locales. Fortunately that can be detected by checking GetLastError().