DB2 Server for VM: System Administration


Step 3: Determine Translation Characters

When the database manager translates a character string from lowercase to uppercase, it checks the classification of each character in the string. If the character is in class 3, it is translated. If not, the character is not changed.

To translate the character, the database manager consults a translation table. The translation table contains the hexadecimal value to which a particular hexadecimal value is to be translated.

For every hexadecimal value in your set that has a different character representation than in English, you must define a translation value. Refer again to Table 60. The following rationale was used to choose the PORTUGUESE translation values:

X'4A'
Because the character represented by this hexadecimal value is an uppercase E with an accent, there is no need to translate the hexadecimal value to some other value when the database manager is folding to uppercase. The translation value remains X'4A' (the same as the ENGLISH value).

X'4F'
The character represented by this hexadecimal value in Portuguese is the exclamation mark. Because the hexadecimal value should not be changed when the database manager is doing a lowercase to uppercase translation, the translation value should remain X'4F'.

X'5A'
This hexadecimal value, which represents a dollar sign ($) in the PORTUGUESE character set, should not change during a translation. The translation value should remain X'5A'.

X'5B'
Because this hexadecimal value represents an uppercase C with a cedilla, it does not need to be changed during a translation. The translation value should remain X'5B'.

X'5F'
This is another hexadecimal value that does not represent a letter of the alphabet. The hexadecimal value should not change during a translation. The translation value should remain X'5F'.

X'6A'
This hexadecimal value represents a lowercase c with a cedilla. During a translation, it should be translated to an uppercase C with a cedilla. To have the database manager do the correct translation, the translation value should be X'5B' (the hexadecimal value for uppercase C with a cedilla).

X'79'
This hexadecimal value represents a lowercase a with a tilde. During a translation, it should be translated to an uppercase A with a tilde. The translation value should be X'7C'.

X'7B'
Because this hexadecimal value represents an uppercase O with a tilde, it does not need to be changed during a translation. The translation value should remain X'7B'.

X'7C'
Because this hexadecimal value represents an uppercase A with a tilde, it does not need to be changed during a translation. The translation value should remain X'7C'.

X'C0'
This hexadecimal value represents a lowercase o with a tilde. During a translation, it should be translated to an uppercase O with a tilde. To have the database manager do the correct translation, the translation value should be X'7B' (the hexadecimal value for uppercase O with a tilde).

X'D0'
This hexadecimal value represents a lowercase e with an accent. During a translation, it should be translated to an uppercase E with an accent. To have the database manager do the correct translation, the translation value should be X'4A' (the hexadecimal value for uppercase E with an accent).

After determining what the translation values are, verify the following:

  1. Hexadecimal values that you have reclassified to class 0 must be translated into identical hexadecimal values. If you reclassify X'A2' from 3 to 0, you must ensure that the translation value is set to X'A2', not X'E2' (as it is in ENGLISH). In the PORTUGUESE example, this situation did not occur. No hexadecimal values were reclassified from 3 to 0.
  2. Hexadecimal values that you have reclassified to class 3 can be translated into any hexadecimal value having a class of 3 or A. A quick check of the PORTUGUESE-unique translation values show that the hexadecimal values either translate to themselves or to hexadecimal values having class 3. The PORTUGUESE example is still valid.

If your character set fails either of these tests, there is probably an error either in reclassifications or in the translation values chosen.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]