In Win32 you can use LCMapString to monocase Unicode strings. You just specify the locale.
However, the wide character version works only on Windows NT implementations of Win32. As far as I
can tell, the wide character version of the API is not supported there. So, you have to go through
the conversion nonsense you just described. Additional Unicode support is greatly needed in
Windows 95 for this as well as several other useful character API's.
So, somebody has worked on the problem, but it is not completely solved. Worse, in Windows you may
not be able to even identify the code page from whence the string originated. It could come from
DOS, Windows, or some outside source. Hence it can be difficult to know what code page to use when
calling WideCharToMultiByte and MultiByteToWideChar.
On 11/26/96 12:31:47 you wrote:
>Is anyone working on Locale support for Unicode encoded strings ? Unless I
>misunderstand the issue, if I have a string of 16bit characters encoded in
>Unicode, and I wish to uppercase them according to the say, Czech locale, I now
>have to convert the string to Latin-2, (or whichever charset the particular OS
>supports for the Czech language), use the OS, uppercase them, and covert it
>Are there any better ways to do this, and other locale dependent character
>operations ? I guess this is a platform specific question, however we are trying
>to provide a platform independent solution, using the OS services whenever
>possible (Unix, NT etc.) All the definitions for locale that I have found have
>language, Region, character set. I havent found on any OS I have looked, support
>for Unicode locales (would that be iso10646 ???) I did find UTF8 on the HP for
>the C locale.
>Thanks for any insight. I am a fairly new person to the world of Unicode.
This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:20:32 EDT