Consultor Eletrônico



Kbase 16296: I18N. What is a codepage conversion and what causes error (6063)?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   7/30/2007
Status: Verified

GOAL:

I18N. What is a codepage conversion?

GOAL:

What causes error 6063?

GOAL:

What does conversion really mean?

FIX:

When a server is configured to use one codepage and the client is configured to use a different codepage that is not similar enough error (6063) occurs. This error means that the combination of codepages that is selected are not convertible and, therefore, cannot be used. To work around this error other codepage settings must be chosen.
These conversions occur when a Progress client/server session is configured to use multiple (but similar) codepages for different purposes (i.e. stream I/O, internal logic, etc.).

For example, a standard U.S. Windows 98 client has a DOS level codepage of ibm850 and a Windows level codepage of ISO8859-1. The Progress session must be able to perform stream I/O at the DOS level (disk read/write access) and Windows level (terminal display) at the same time. Since the DOS and Windows codepages are not exactly the same a conversion of characters is necessary. Another instance arises when the server is running with one codepage and the client is set to use a different codepage.

A conversion is simply a reassignment of numeric values for the same character. Each codepage is a list of numeric values for a character set (such as 65 is "A" and 66 is "B", etc., for any codepage that defines the ASCII character set). Continuing with the standard U.S. Windows 3.x example from above; If the Progress session receives the character value "224" as data from the server, and this data must be written to the client's local disk, then the value must be converted to "133" before being written so that compatibility with the ibm850 codepage is maintained (ISO8859-1 character 224 is the same as ibm850 character 133).

Codepage conversions generally do not provide a one-to-one conversion since there are some characters that exist in one codepage and not in another. However, if the codepages are similar enough a "pretty good" conversion can take place.

However, there are times when a conversion is just not possible. For example, there is no way to convert between a DBE language (such as Japanese) and any other language. Since a Japanese codepage has thousands of characters defined and most other languages only have 256 characters defined this seems obvious.
What may not be so obvious is that codepages that have only 256 characters may not be convertible. Since Russian has many more characters than English (and many of the characters have meaning in only one of these languages, but not in the other) there is no way to convert between the two codepages (the two codepages are not similar enough).

NOTE: If you wish to define a conversion table of your own (to convert between two codepages that are not already mapped by Progress) you can add a conversion map of your own by editing the convmap file.