Choosing International Character Sets

From InterBase
Jump to: navigation, search

Go Up to Developing a Set of Rules (Designing Databases)


When you create the database, you can specify a default character set. A default character set determines:

  • What characters can be used in CHAR, VARCHAR, and BLOB text
    columns.
  • The default collation order that is used in sorting a column.

The collation order determines the order in which values are sorted. The ­COLLATE clause of CREATE TABLE allows users to specify a particular collation order for columns defined as CHAR and VARCHAR text data types. You must choose a collation order that is supported for the given character set of the column. The collation order set at the column level overrides a collation order set at the domain level.

Choosing a default character set is primarily intended for users who are interested in providing a database for international use. For example, the following statement creates a database that uses the ISO8859_1 character set, typically used to support European languages:

CREATE DATABASE 'employee.ib'
DEFAULT CHARACTER SET ISO8859_1;

You can override the database default character set by creating a different character set for a column when specifying the data type. The data type specification for a CHAR, VARCHAR, or BLOB text column definition can include a ­CHARACTER SET clause to specify a particular character set for a column. If you do not specify a character set, the column assumes the default database character set. If the database default character set is subsequently changed, all columns defined after the change have the new character set, but existing columns are not affected.


If you do not specify a default character set at the time the database is created, the character set defaults to NONE. This means that there is no character set assumption for the columns; data is stored and retrieved just as it was originally entered. You can load any character set into a column defined with NONE, but you cannot load that same data into another column that has been defined with a different character set. No transliteration will be performed between the source and the destination character sets.

For a list of the international character sets and collation orders that InterBase supports, see Character Sets and Collation Orders.

Advance To: