Starting from version 6.5, the solidDB® databases can be created in two modes: Unicode mode or partial Unicode mode (default). This database mode is based on the encoding of character data types (CHAR, VARCHAR, and so on) in the solidDB® server. Wide character data types (WCHAR, WVARCHAR, and so on) are Unicode encoded in both modes.
▪Unicode mode
In the Unicode mode, the internal representation for character data types is UTF-8.
The internal representation for wide character data types is UTF-16.
▪partial Unicode mode
In the partial Unicode mode, the internal representation for character data types uses no particular encoding; instead, the data is stored in byte strings with the assumption that user applications are aware of this and handle the conversion as necessary.
The internal representation for wide character data types is UTF-16.
The databases created with solidDB® version 6.3 or earlier are of the partial Unicode type.
The default database mode in 6.5 is partial Unicode.
Creating Unicode databases
The solidDB® database mode is controlled with the parameter General.InternalCharEncoding.
▪Unicode mode: General.InternalCharEncoding=UTF8
When the InternalCharEncoding is set to UTF8, the internal representation for character data types is UTF-8. Both character data types and wide character data types are converted between the solidDB® server and the application.
When the InternalCharEncoding is set to Raw, the internal representation for character data types uses no particular encoding; instead, the data is stored in byte strings with the assumption that user applications are aware of this and handled the conversion as necessary. Wide character data types are converted between the solidDB® server and the application.
The databases created with solidDB® version 6.3 or earlier are of the partial Unicode type.
The database mode must be defined when the database is created and it cannot be changed later.
If the database already exists in either mode and the database mode contradicts the value of the parameter, the server startup fails with the following error message in the solerr.out:
Parameter General.InternalCharEncoding contradicts the existing database mode