Kbase P116410: UTF-8 characters corrupted when sent from Progress to Microsoft Excel using DDE.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  30/05/2006 |
|
Status: Unverified
SYMPTOM(s):
UTF-8 characters corrupted when sent from Progress to Microsoft Excel using DDE.
Characters are shown within Microsoft Excel but are not the characters that were sent.
Manually entering the correct characters directly into Microsoft Excel will display the correct characters.
Chinese words / characters are not sent to MS Excel correctly.
Progress database is a UTF-8 database
Progress client is started with -cpstream utf-8
CAUSE:
Microsoft is using UCS-2, which is basically Microsoft's version of UTF-16.
DDE is not (and cannot) perform the conversion from UTF-8 to UCS-2.
FIX:
You cannot use DDE to transfer UTF-8 characters to Microsoft Excel.
Workarounds:
1. Use ActiveX Automation (OLE Automation), and use calls to the MS Excel ActiveX object. This is the new way to be performing this type of task.
2. Use a flat-file approach, whereby you dump the data from Progress and load it into Excel. The conversion is performed during the load and the characters are loaded correctly. It may be possible to use DDE to load the file and perform single cell updates.