Consultor Eletrônico



Kbase P110878: Invalid UTF-8 characters in output from a 4GL program.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/10/2008
Status: Unverified

SYMPTOM(s):

Invalid UTF-8 characters in file.

FACT(s) (Environment):

File is created via 4GL/ABL.
Using OUTPUT TO ... CONVERT TARGET "UTF-8".
Session internal codepage ( -cpinternal ) is a single-byte codepage, such as iso8859-1.
Only occurs under ChUI.
protermcap was customized via the IN and OUT options, to allow correct input and visualization of extended characters, such as Ä and é.
UNIX
Progress/OpenEdge Versions

CAUSE:

The IN and OUT options are impacting how the UTF-8 file is produced.

After the conversion from the -cpinternal codepage to UTF-8, a further conversion is done relying on the mappings from the protermcap file. This can lead to incorrect or malformed UTF-8 characters.

FIX:

Add the NO-MAP option to the OUTPUT statement:

OUTPUT TO "myFile" NO-MAP CONVERT TARGET "UTF-8".