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.