I am using Borland C ++ Builder 2009, and my application has been translated into several languages, including Polish.
For a small piece of functionality, I use towuppper () for the header line to emphasize it when the user first ignores it.
The source line is loaded from the language dll into the wstring utf16 object, and I convert like this:
int length = mystring.length() ; for (int x = 0 ; x < length ; x++) { mystring[x] = towupper(mystring[x]); }
All this works well, except for Polish, where the following sentence: "Rozumiem ryzykowność wykonania tej operacji" turns into "ROZUMIEM RYZYKOWNO ść WYKONANIA TEJ OPERACJI" instead of "ROZUMIEM RYZYKOWNO ŚĆ WYKONANIA TEJERAC
(note that the last two characters of the word "ryzykowność" are not converted).
This is not the case as if there were no Unicode variants for this symbol. The Unicode 346 character does the trick. http://www.fileformat.info/info/unicode/char/015a/index.htm
Is this an obsolete library in an obsolete compiler installation, or am I missing something else?
Peter source share