## Unicode

Unicode is an international standard character set. The Unicode character set provides a unique representation for all characters used in alphabets. The ASCII character set, on the other hand, is suited only for use with English and Central European characters.

The database system MaxDB supports Unicode according to ISO 10646. Internally, the database system stores Unicode data in the UTF-16/UCS-2 format. This requires twice as much storage space as saving the data in ASCII format, since the coding is 16-bit rather than 8.

You can use Unicode for the database catalog and for application data in a MaxDB database instance.

● Database catalog:

To store the names of database objects such as table and column names in Unicode, set the special database parameter _UNICODE to YES when creating the database instance.

You cannot to change the database parameters later on.

● Application data:

To store application data of a CHAR, VARCHAR or LONG type column in Unicode, select the UNICODE value as the code attribute of the column.

To configure UNICODE as the default code attribute for all CHAR, VARCHAR and LONG data type columns, select the UNICODE value as the DEFAULT_CODE special database parameter.

The following requirements must be met so that the code attribute can be changed for a column that already contains data:

○ ASCII -> Unicode: All values in the column still fit into the column after conversion (Unicode data requires twice as much space as ASCII data).

○ Unicode -> ASCII: The values contain only characters that are part of the ASCII character set.

Which database tools support Unicode?

Database Tool | Unicode supported*
Database Manager | Yes
Loader | Yes
SQL Studio | Limited (see SQL Studio, Unicode Support)
SQLCLI | No
Synchronization Manager | Yes
Web SQL | Yes
XUSER | Limited (you can import user names and passwords from a file into XUSER in Unicode only by using option -b, but you cannot enter them directly into the command line)

* Note when using command line programs that the command line environment must also support Unicode.

Which interfaces support Unicode?

Interface | Unicode supported
JDBC | Yes
ODBC | Yes
Perl | Yes
PHP | No
Python | Limited (modules sdb.dbm and sdb.loader do not support Unicode at present)
SQLDBC | Yes
WebDAV | Yes

See also:

Concepts of the Database System,

Planning the Database Instance

Special Database Parameters

Reference Manual, Code Attribute