Consultor Eletrônico



Kbase P18827: Application using JDBC driver displays incorrect characters
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   2/17/2003
Status: Unverified

FACT(s) (Environment):

Windows 32 Intel

FACT(s) (Environment):

Progress 9.1D

SYMPTOM(s):

Java-based web application

UTF-8 Progress database

JDBC driver reading data from database

JDBC data not displaying in unicode

Most characters with ASCII values between 128 -160 display as rectangles

4GL client sessions display data in unicode as expected

CHANGE:

Running a web-based program using Progress JDBC driver to extract data from a Progress 4GL database.

CAUSE:

The unicode values within the database are the wrong ones for SQL-92 or ODBC to display when the values are set by 4GL client using default cpstream and cpinternal codepages (ISO8559-1). The codepage conversion is ISO8859-1 to/from UTF-8 unicode.

The desired data that does not display is defined in Windows 1252 (Latin 1) codepage and 1250 (Central Europe). SQL-92 or ODBC will convert automatically to codepage 1252 when extracting data from unicode databases. The problem is the manner in which the data was placed in the unicode database by the 4GL client using ISO8859-1 codepage. The data is invalid between UTF-8 and 1252.

The 4GL client can see the data correctly because the backwards conversion of unicode to ISO8859-1 is displayed by Windows default font in 1252 codepage.

FIX:

Start the 4GL client prowin32 with -cpinternal and -cpstream set to 1252