Skip to main content

The Czech use a "s" with caron (inverted circumflex) as in Ĺ koda.

We need to convert the lowercase s to uppercase S but the C$TOUPPER seems not to know these characters.

And becauce it's a double-byte character we don't know how to define it in the INSPECT REPLACING statement. 

Does anyone know how to accomplish this?



------------------------------
Andreas Weinand
Vacos GmbH
Böblingen DE
------------------------------

The Czech use a "s" with caron (inverted circumflex) as in Ĺ koda.

We need to convert the lowercase s to uppercase S but the C$TOUPPER seems not to know these characters.

And becauce it's a double-byte character we don't know how to define it in the INSPECT REPLACING statement. 

Does anyone know how to accomplish this?



------------------------------
Andreas Weinand
Vacos GmbH
Böblingen DE
------------------------------

This is most likely not unique to this character, and that you need some more general solution for changing the case of multi-byte characters. I see three possibilities. There are probably others.

  1. Find some external function (something from Microsoft if you are running on Windows, or else on your vendor's platform) to call to do this translation. For example, CharUpperA in user32.dll on Windows should do what you need.
  2. Do the translation "by hand", by having some horrible table that maps lower-case multi-byte characters to upper-case.
  3. Ask for an enhancement from Rocket Software. This would obviously not be immediately available.


------------------------------
Randy Zack
Principal Software Engineer
Rocket Forum Shared Account
------------------------------

The Czech use a "s" with caron (inverted circumflex) as in Ĺ koda.

We need to convert the lowercase s to uppercase S but the C$TOUPPER seems not to know these characters.

And becauce it's a double-byte character we don't know how to define it in the INSPECT REPLACING statement. 

Does anyone know how to accomplish this?



------------------------------
Andreas Weinand
Vacos GmbH
Böblingen DE
------------------------------

The support directed me to the following guideline text:

These routines only translate characters with a numeric value of 0-128. Anything above that (such as Ă©, with a value of 130) must be mapped to its associated upper- or lower-case character using the configuration variable UPPER-LOWER-MAP.

After entering UPPER-LOWER-MAP 138 154 in our cblconfig the characters are mapped successfully.



------------------------------
Andreas Weinand
Vacos GmbH
Böblingen DE
------------------------------