Kbase P115091: UTF-8 characters are not output correctly from Webspeed and Appserver.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/15/2008 |
|
Status: Verified
FACT(s) (Environment):
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems
SYMPTOM(s):
UTF-8 characters are not output correctly when writing output from WebSpeed and AppServer.
Using OUTPUT TO CONVERT TARGET UTF-8 from a WebSpeed or AppServer session converts some, but not all extended characters to UTF-8 correctly.
The WebSpeed/AppServer session is started with cpinternal iso8859-1 and cpstream ibm850, and the literal string has been entered correctly in the source file as ibm850 character values.
When the source is run on the WebSpeed or AppServer agent the characters are read in as ibm850 characters, converted to iso8859-1 (cpinternal) and then to UTF-8 by the OUTPUT TO statement.
The results are as follows:
ibm850 ISO8859-1 Correct Wrong
UTF-8 Value UTF-8 Value
ä 84(132) E4(228) C3A4
ö 94(148) F6(246) C3B6 C3C2
ü 81(129) FC(252) C3BC
ß E1(225) DF(223) C39F
Ä 8E(142) C4(196) C384 C3E4
Ö 99(153) D6(214) C396 C3FB
Ü 9A(154) DC(220) C39C
For 3 characters in the literal string an incorrect value of C3C2, C3E4 and C3FB is returned.
German umlaut characters are not output correctly to UTF-8 by WebSpeed or the AppServer.
The code works correctly when the same OUTPUT TO CONVERT UTF-8 is done with 4GL from a Character client and from a GUI client, but also produces incorrect results on the AppServer. So the problem is only with the AppServer and WebSpeed agents.
CAUSE:
In the broker environment the PROTERMCAP environment variable is not set.
FIX:
Setting the PROTERMCAP environment variable to point to the correct PROTERMCAP file for the WebSpeed broker and AppServer corrected the problem.