The following BiDi attributes are required for correct handling of Bidirectional data on different platforms:
- Text type (LOGICAL vs VISUAL) - Shaping (SHAPED vs UNSHAPED) - Orientation (RIGHT-TO-LEFT vs LEFT-TO-RIGHT) - Numeral shape (ARABIC vs HINDI) - Symmetric swapping (YES or NO)
Since defaults on different platforms are not the same, problems appear when DB2 data is sent from one platform to another. For example, Windows platforms use LOGICAL UNSHAPED data, while data on OS/390 is usually in SHAPED VISUAL format. Therefore, without any support for these attributes data sent from DB2 Universal Database for OS/390 to DB2 UDB on a Windows 32-bit operating systems workstation displays incorrectly.
The following bidirectional Coded Character Set Identifiers (CCSID) have been defined and are implemented with DB2 UDB:
CCSID - Code - String - Page - Type -------+--------+---------- 00420 420 4 00424 424 4 08612 420 5 08616 424 6 12708 420 7 X'3F00' 856 4 X'3F01' 862 4 X'3F02' 916 4 X'3F03' 424 5 X'3F04' 856 5 X'3F05' 862 5 X'3F06' 916 5 X'3F07' 1255 5 X'3F08' 1046 5 X'3F09' 864 5 X'3F0A' 1089 5 X'3F0B' 1256 5 X'3F0C' 856 6 X'3F0D' 862 6 X'3F0E' 916 6 X'3F0F' 1255 6 X'3F10' 420 6 X'3F11' 864 6 X'3F12' 1046 6 X'3F13' 1089 6 X'3F14' 1256 6 X'3F15' 424 8 X'3F16' 856 8 X'3F17' 862 8 X'3F18' 916 8 X'3F19' 420 8 X'3F1A' 420 9 X'3F1B' 424 10 X'3F1C' 856 10 X'3F1D' 862 10 X'3F1E' 916 10 X'3F1F' 1255 10 X'3F20' 424 11 X'3F21' 856 11 X'3F22' 862 11 X'3F23' 916 11 X'3F24' 1255 11
Where CDRA String Types are defined:
String - Text - Numerical - Orientation - Shaping - Symmetrical Type - Type - Shape - - - Swapping ---------+-------+------------+-------------+-----------+------------- 4 Visual Arabic LTR Shaped OFF 5 Implicit Arabic LTR Unshaped ON 6 Implicit Arabic RTL Unshaped ON 7(*) Visual Arabic Contextual(*) Unshaped-Lig OFF 8 Visual Arabic RTL Shaped OFF 9 Visual Passthru RTL Shaped ON 10 Implicit Contextual-L ON 11 Implicit Contextual-R ON
Note: | Field orientation is left-to-right (LTR) when the first alphabetic character is a Latin one, and right-to-left (RTL) when it is a bidirectional (RTL) character. Characters are unshaped, but LamAlef ligatures are kept, and not broken into constituents. |