Kbase P27546: Converting a UTF-8 database to another codepage causes error
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  27/06/2003 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.1D
SYMPTOM(s):
Converting a UTF-8 database to another codepage causes error 710 and 1494 at connection time.
** Your Password and Userid cust do not match. (710)
_login.p --Could not find file _User in database medsol. (1494)
adecomm/_getpdbs.p --Could not find file _Db in database medsol. (1494)
CAUSE:
The UTF-8 collation is not compatible with other codepages. Converting from UTF-8 makes the database unusable.
FIX:
To make it possible to convert to a different codepage you first need to change the database collation. Follow these steps and most of all make sure you have a good backup of your database before performing these steps.
1) Get the desired collation (.df) file from $DLC/prolang/<lang>,
for example, $DLC/prolang/swe/swe8859.df:
> UPDATE DATABASE "?"
> COLLATION-TRANSLATION-VERSION 1.0-16
> CODEPAGE-NAME ISO8859-1
> COLLATION-NAME SWEDISH
> INTERNAL-EXTERNAL-TRAN-TABLE
> ...
2) Change the codepage name to UTF-8:
> UPDATE DATABASE "?"
> COLLATION-TRANSLATION-VERSION 1.0-16
> CODEPAGE-NAME UTF-8
> COLLATION-NAME SWEDISH
> INTERNAL-EXTERNAL-TRAN-TABLE
3) Load this .df file and run 'proutil <dbname> -C idxbuild all'.
4) Run 'proutil <dbname> -C convchar convert <codepage>'.
5) Load the proper collation .df file (the original $DLC/prolang/swe/swe8859.df, e.g.) and do an idxbuild again.