Kbase P187335: Data loss saving double/triple byte utf characters via WebSpeed mapped field web object
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/16/2011 |
|
Status: Unverified
SYMPTOM(s):
Data loss saving double/triple byte utf characters via WebSpeed mapped field web object
Saving 20 Chinese CJK characters, only 10 are actually saved in database
FACT(s) (Environment):
The application is html mapped web object
The Schema holder for oracle is UTF-8
The WebSpeed client started with -cpinternal and -cpstream set to utf-8
WebSpeed 9.x
OpenEdge 10.x
All Supported Operating Systems
CAUSE:
Bug# OE00207394
CAUSE:
This behavior is not specific to UTF-8.
First: if you run the broker with -cpinternal 1252 -cpstream 1252, you will see that if you insert more than 20 characters ASCII characters into this field, the value will be truncated at 20 characters. This shows it is not specific to UTF-8.
Next: the FORMAT phrase defines the number of display columns, NOT the number of characters or number of bytes. The character in question consumes two display columns per character. This is typical of CJK characters. So the "X(20)" is saying 20 display columns, which in the case of this character means 10 characters.
FIX:
This is a feature limitation for HTML Mapped web objects.
Refer to the following solution for the workaround:
P184489, "Enhancement Request for the Format Phrase to calculate using characters rather than bytes for scenarios of Double-byte (DBE) and Multi-byte language use."