How does ADB work internally with Unicode support?
book
Article ID: KB0087808
calendar_today
Updated On:
Products
Versions
TIBCO ActiveMatrix BusinessWorks Plug-in for Database
-
Not Applicable
-
Description
Resolution: There are 3 conversions:
1. DBMS <-----------> ODBC Driver(=ADB) eg. DBCS<->SJIS - First conversion is done by the driver (from database character set to NLS_LANG). ADB is expecting to receive characters with encoding NLS_LANG from the driver or to send that to the driver.
2. ODBC Driver (=ADB) <----------------> SDK Storage eg. SJIS->UCS2 - Second conversion is done by ADB/SDK (from adapter encoding to UCS-2). The ADB encoding actually lets ADB know what it is expecting from the driver. (NLS_LANG in the case of Oracle). SDK then does the conversion based on the ADB encoding and stores it as UCS2.
3. SDK Storage<---------------> TIB eg. UCS2->UTF8 - Third conversion is done by SDK (from UCS-2 to REPO encoding). SDK does this conversion when the message is sent to the TIB.
Basically, for Oracle, NLS_LANG should be the same as the ADB encoding (mentioned in ADB Doc). ADB encoding just lets the ADB know what the NLS_LANG is.
For other DBMS, ADB encoding should be set to the encoding type of the characters expected from the ODBC Driver.
Usually in the case of broken characters, it is the first conversion that fails.
Issue/Introduction
How does ADB work internally with Unicode support?