This section contains information on how to design your applications for use with solidDB® databases in Unicode mode.
Supported interfaces
▪ODBC
The solidDB® ODBC Driver is Unicode compliant; it conforms to the Microsoft ODBC 3.51 standard.
The solidDB® package provides two versions of the ODBC driver, one for Unicode and one for ASCII. The Unicode version is a superset of the ASCII version; you can use it with either Unicode or ASCII character sets.
▪JDBC
Unicode is supported in the solidDB® JDBC Driver, which is an implementation of the JDBC 2.0 standard.
As Java uses natively Unicode strings, supporting Unicode means primarily that when accessing character data in solidDB® database, no data type conversions are necessary. Additionally, JDBC ResultSet Class methods getUnicodeStream and setUnicodeStream are supported for handling large Unicode texts stored in solidDB® databases.
Multi-client environments with different locale settings
In Unicode databases, the solidDB® ODBC and JDBC drivers handle the conversion of data between the application encoding and the UTF-8/UTF-16 format in the solidDB® server.
In ODBC environments, the conversions can be set to expect the application default locale or a user-defined locale for the encoding in the application buffer. This is controlled with server-side Srv.ODBCDefaultCharBinding and client-side Client.ODBCCharBinding configuration parameters.
SQL string functions
SQL string functions work as expected. Conversions are provided implicitly, when necessary. If either of the operands is of wide character type, the result is always of wide character type.
As of 7.0 Interim Fix 2, the functions UPPER() and LOWER() perform the uppercase or lowercase conversions for all Unicode characters in Unicode databases (General.InternalCharEncoding=UTF8). In versions prior to 7.0 Interim Fix 2, conversions are supported only when the characters are part of Latin 1 code page. If the Unicode character cannot be converted to uppercase or lowercase, the input string is returned as it is.
Character padding
The SQL.CharPadding=yes parameter setting is not effective in Unicode databases; blank characters in CHAR values are always discarded.