Kbase 33418: I18N. Considerations about deploying Progress 9.1C with Asian Code Pages.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/05/1998 |
|
Solution ID: P3418
GOAL:
I18N. Considerations about deploying Progress 9.1C with Asian Code Pages.
FACT(s) (Environment):
Progress 9.1C
FIX:
Considerations for Development and Deployment:
Concerning the deployment you will first of all have to choose if you want to Localize or to Internationalize the DB.
Localize is to set the computer to a Locale Setting of the Region (Regional CodePage).
Regionalize is to set the computer to an universal CodePage that will allows you to work with more than one CodePage (you will have to choose for this CP = UTF-8).
You will have to check also if you OS is able to work with the appropriate CodePage and Character Sets.
You will also have to consider also with those Languages an IME (Input Method Editor) to be able to:
Input Text. You can download it from the Microsoft site.
You will have to consider also the Format of the Date, Numbers and Currencies.
When you will install Progress 9.1C you will have to set the Default Locales you will have to work with, (Currency format, Numbers,...)
You will have to modify the Progress.ini file to set the default fonts to an Asiatic Font. You have to remember that the Asiatic Fonts are bigger than the European ones and you should have to adjust your screens and windows and widgets if needed.
In the session attributes of ProTools you will have to adjust the Pixels-Per-Column if needed due to the graphical differences.
Other Localization considerations:
- Maybe reverse the order of some field for printouts.
- Trap DBC input into a field:
IF LENGTH(PHONE, "RAW") <> LENGTH(PHONE, "CHARACTER") THEN ....
-Because Asiatic Characters use two byte you will have to code in a way that avoid to split the lead and trail bytes of a DBC (Double Byte Character).
i.e: SUBSTRING(" ",1,1 "RAW").
-Functions/Statements that can potentially lead to the splitting of multiple-byte characters:
LENGTH(Function).
SUBSTRING(Statement and Function).
OVERLAY (Statement).
-Type options: "CHARACTER","COLUMN","RAW","FIXED"(position in bytes, length in bytes)
- -checkdbe startup parameter:
Causes compiler to report all instances of Length, substring of Overlay without a type specification.
Considerations for the use of UNICODE (UTF-8).
What is UTF-8:
- An universal standard Encoding system converting most of the commonly used languages throughout the world.
- Unique value for each character.
- 1 character will take from 1 to 3 bytes each.
Creating an Unicode Database:
- No Extra products or installation is required.
- Default installation creates the following folders in DLC\PROLANG directory:
convmap and utf
-DLC\PROLANG|UTF contains:
- _trans.df ---> Basic Collation Table.
- empty DB ---> Block size 1 to 4
- utf8.pf ---------? Client Startup Parameters
Create the new DB as a copy of DLC\PROLANG\UTF\empty.db
As you can see there is many points to consider.
I will recommend to you that the first step is to check about your OS and make sure it will be compatible with Chinese, Korean and UTF-8.
Other points to consider is that the DB CodePage will be UNICODE:
Within version 9.1C we are supporting the DB and AppServer with UNICODE CodePage but the Client Session will have to be in the Locale Code Page of the OS.