Consultor Eletrônico



Kbase P110483: OUTPUT TO doesn't include byte-order mark (BOM) when cpstream is UTF-8.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/01/2011
Status: Verified

SYMPTOM(s):

OUTPUT TO doesn't include byte-mark order (BOM) when cpstream is UTF-8.

OUTPUT and CONVERT TARGET "UTF-8" appears corrupt characters with -cpstream UTF-8

FACT(s) (Environment):

Progress OpenEdge 10.0x
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems

CAUSE:

Bug# OE00122687

CAUSE:

UTF-8 encoding in most cases does not require a byte-order mark (and in a number of cases forbids it), therefore it is not written to the file.
This does cause issues with the few use cases where the BOM is required.

FIX:

Workaround:

The BOM can be added manually using the PUT CONTROL statement:

OUTPUT TO c:\temp\js.html CONVERT TARGET "UTF-8".
PUT CONTROL "~357~273~277". /* BOM for UTF-8 */

/* actual output goes here */

OUTPUT CLOSE.