meta data for this page
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.
Name | Bytes per Character | Description | Range | IANA/MIME Code |
---|---|---|---|---|
7-bit ASCII | 1 | The 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..127 | US-ASCII |
Unicode-based Character Sets
Unicode, ISO 10646 | N.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+100000 | N.A. |
UTF-8 | 1..6 | A 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 characters | UTF-8 |
UCS-2 | 2 | A 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+FFFF | ISO-10646-UCS-2 |
UTF-16 | 2 | A 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 characters | UTF-16 |
UCS-4, UTF-32 | 4 | Two 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 characters | ISO-10646-UCS-4, UTF-32 |
Single-byte Character Sets
ISO 8859-x | 1 | An extension of US-ASCII using the eighth bit. | 0..127, 160..255 | ISO-8859-x |
Windows 125x | 1 | Equal to ISO 8859-x, plus additional characters in the 128..159 range. | 0..255 | Windows-125x |
ISO 8859-x Character Sets
Name | Covered Languages | MS Windows counterpart | |
---|---|---|---|
ISO 8859-1 | Latin-1 | Western 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 |
Windows 1252 and ISO 8895-1 are equal in the 160..255 range. | Windows-1252 | ||
ISO 8859-2 | Latin-2 | Central and East European languages (Czech, Polish, etc.). | Windows-1250 |
ISO 8859-3 | Latin-3 | South European, Maltese, Esperanto | |
ISO 8859-4 | Latin-4 | North European | |
ISO 8859-5 | Cyrillic | Russian, Ukrainian | Windows-1251 |
ISO 8859-6 | Arabic | Arabic | Windows-1256 |
ISO 8859-7 | Greek | Modern Greek | Windows-1253 |
ISO 8859-8 | Hebrew | Hebrew | Windows-1255 |
ISO 8859-9 | Latin-5 | Turkish | Windows-1254 |
ISO 8859-10 | Latin-6 | Nordic (Sami, Inuit, Icelandic) | |
ISO 8859-11 | Thai | Thai | Windows-874 |
ISO 8859-13 | Latin-7 | Baltic | Windows-1257 |
ISO 8859-14 | Latin-8 | Celtic | |
ISO 8859-15 | Latin-9 | Similar to ISO 8859-1, adds Euro sign (€) and a few other characters. | |
ISO 8859-16 | Latin-10 | South Eastern European languages (Albanian, Croatian, Hungarian, Italian, Polish, Romanian, Slovenian, but also Finnish, French, German and Irish Gaelic). |
MS Windows Character Sets
Number | Name |
---|---|
1250 | Latin 2 |
1251 | Cyrillic |
1252 | Latin 1 |
1253 | Greek |
1254 | Latin 5 |
1255 | Hebrew |
1256 | Arabic |
1257 | Baltic |
1258 | Viet Nam |
874 | Thai |
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:
Any comments? Send an email to register@ibexpert.biz
COPYRIGHT © 2002-2022 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.