![]() |
There are four basic topologies for character set conversion. 1) no conversion, 2) client does conversion, 3) server does conversion, and 4) both client and server do conversion. All four of these scenarios were found amongst database vendors.
SQL Anywhere assumes the client knows what its doing when it sends the server data. Hence, there is no provision for codeset conversion in the server. ODBC or Open Client can be used to initiate transparent context-sensitive conversions.
Also known as "Client Makes It Right" (CMR). This method is found with the Sybase UTF8 SQL Sever which expects ODBC or Open Client to do the conversions. A method of handshaking can be implemented programmatically. Oracle expects SQL*Net to do the conversions. Informix expects the client to do the conversions. Microsoft SQL Server 7.0 will rely on ODBC to do conversions when connected to the latest versions of ODBC.
Also known as "Server Makes It Right" (SMR). This is the solution chosen by ADABAS D and Teradata. The client must communicate to the server what encoding is being used, but the server does all the conversions. Microsoft will have the server do conversions if the client is older and doesn't recognize the Unicode datatypes.
In this scheme, both client and server convert into and out of a mutually understood character set, Unicode UCS-2. DB2 will use DRDA for this [19].