<< InterBase 6.0 DSQL syntax | Documentation | InterBase character sets and collation orders >>

Overview of the main character sets in Firebird

By Stefan Heymann

Character sets are an issue every programmer has to deal with one day. This is an overview of the most important character sets.

NameBytes per CharacterDescriptionRangeIANA/MIME Code
7-bit ASCII1The mother of all character sets. Contains 32 invisible control characters, the Latin letters A-Z, a-z, the Arabic digits 0-9 and a bunch of punctual characters. Code Range 0..127.0..127US-ASCII

Unicode-based Character Sets

Unicode, ISO 10646N.A.A universal code for all characters anyone can think of. Defines characters, assigns them a scalar value, but does not define how characters are rendered graphically or in memory.U+0000..U+100000N.A.
UTF-81..6A Unicode transformation format which uses 1-Byte characters for all 7-bit US-ASCII characters and sequences of up to 6 bytes for all other Unicode characters.All Unicode charactersUTF-8
UCS-22A unicode transformation format which uses 2 Bytes (16 Bits) for every character. This character set is not able to render all Unicode scalars and is therefore obsolete. However, it is still used by a lot of systems (Java, NT)U+0000..U+FFFFISO-10646-UCS-2
UTF-162A unicode transformation format which uses 2 Bytes (16 Bits) for every character. Using the concept of "Surrogate Pairs", this format is able to render all Unicode characters.All Unicode charactersUTF-16
UCS-4,
UTF-32
4Two unicode transformation formats which use 4 Bytes (32 Bits) for every character. UCS-4 and UTF-32 are the only character sets, which are able to render all Unicode characters in equally long words. UCS-4 and UTF-32 are technically identical.All Unicode charactersISO-10646-UCS-4,
UTF-32

Single-byte Character Sets

ISO 8859-x1An extension of US-ASCII using the eighth bit.0..127, 160..255ISO-8859-x
Windows 125x1Equal to ISO 8859-x, plus additional characters in the 128..159 range.0..255Windows-125x

ISO 8859-x Character Sets

Name Covered LanguagesMS Windows counterpart
ISO 8859-1Latin-1Western and West European languages (English, German, French, Spanish, Portuguese, etc.). As these languages are used in large parts of the world (Europe, Americas, Australia, Africa), these are the most widely used character sets.
Windows 1252 and ISO 8895-1 are equal in the 160..255 range.
Windows-1252
ISO 8859-2Latin-2Central and East European languages (Czech, Polish, etc.).Windows-1250
ISO 8859-3Latin-3South European, Maltese, Esperanto 
ISO 8859-4Latin-4North European 
ISO 8859-5CyrillicRussian, UkrainianWindows-1251
ISO 8859-6ArabicArabicWindows-1256
ISO 8859-7GreekModern GreekWindows-1253
ISO 8859-8HebrewHebrewWindows-1255
ISO 8859-9Latin-5TurkishWindows-1254
ISO 8859-10Latin-6Nordic (Sami, Inuit, Icelandic) 
ISO 8859-11ThaiThaiWindows-874
ISO 8859-13Latin-7BalticWindows-1257
ISO 8859-14Latin-8Celtic 
ISO 8859-15Latin-9Similar to ISO 8859-1, adds Euro sign (€) and a few other characters. 
ISO 8859-16Latin-10South Eastern European languages (Albanian, Croatian, Hungarian,
Italian, Polish, Romanian, Slovenian, but also Finnish, French, German
and Irish Gaelic).
 

MS Windows Character Sets

NumberName
1250Latin 2
1251Cyrillic
1252Latin 1
1253Greek
1254Latin 5
1255Hebrew
1256Arabic
1257Baltic
1258Viet Nam
874Thai

Last updated 2010-02-23

For a complete list of the character sets available for your database version, connect to your database, and take a look at the list of character sets in the RDB$CHARACTER_SETS system table:

See also:
Default character set
Character set
Character sets and Unicode in Firebird
Convert your Firebird applications to Unicode
InterBase® character sets and collation orders
New character sets in Firebird 2.5
New character sets in Firebird 2.1
New character sets in Firebird 2.0

back to top of page
<< InterBase 6.0 DSQL syntax | Documentation | InterBase character sets and collation orders >>

Any comments? Send an email to register@ibexpert.biz
COPYRIGHT © 2002-2017 HK-Software, IBExpert Ltd. All rights reserved.
All IBExpert brand and product names are trademarks or registered trademarks of IBExpert Ltd in Malta and other countries. InterBase, Delphi, CodeGear, C++Builder, Delphi/400, Delphi for PHP and JBuilder are trademarks or registered trademarks of Embarcadero Technologies Inc. in the United States and other countries. Firebird is a registered trademark of the FirebirdSQL Foundation. Turbo Pascal is a registered trademark of Borland International, Inc. Sun, Java, JavaScript and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the United States and other countries. UNIX is a registered trademark in the United States and other countries, exclusively licensed through “The Open Group”. Oracle is a registered trademark of Oracle Corporation in the United States and other countries. All Microsoft brand and product names are trademarks or registered trademarks of Microsoft Corporation in the United States and other countries. AS/400, DB2, IBM, Informix and iSeries are trademarks or registered trademarks of IBM Corporation in the United States and other countries. Linux is a registered trademark of Linux Torvalds. dBASE is a trademark of dataBased Intelligence, Inc. Skype is a registered trademark of Skype Ltd., in the United States and other countries. All other product names mentioned herein and throughout the entire web site are trademarks of their respective owners.