Showing posts with label HTML Character Sets. Show all posts
Showing posts with label HTML Character Sets. Show all posts

Wednesday, August 15, 2012

HTML Character Sets

To display an HTML page correctly, the browser must know what character-set to use.

The character-set for the early world wide web was ASCII. ASCII supports the numbers from 0-9, the uppercase and lowercase English alphabet, and some special characters.

Since many countries use characters which are not a part of ASCII, the default character-set for modern browsers is ISO-8859-1.

If a web page uses a different character-set than ISO-8859-1, it should be specified in the <meta> tag.

ISO Character Sets

It is the International Standards Organization (ISO) that defines the standard character-sets for different alphabets/languages.

The different character-sets being used around the world are listed below:

Character setDescriptionCovers
ISO-8859-1Latin alphabet part 1North America, Western Europe, Latin America, the Caribbean, Canada, Africa
ISO-8859-2Latin alphabet part 2Eastern Europe
ISO-8859-3Latin alphabet part 3SE Europe, Esperanto, miscellaneous others
ISO-8859-4Latin alphabet part 4Scandinavia/Baltics (and others not in ISO-8859-1)
ISO-8859-5Latin/Cyrillic part 5The languages that are using a Cyrillic alphabet such as Bulgarian, Belarusian, Russian and Macedonian
ISO-8859-6Latin/Arabic part 6The languages that are using the Arabic alphabet
ISO-8859-7Latin/Greek part 7The modern Greek language as well as mathematical symbols derived from the Greek
ISO-8859-8Latin/Hebrew part 8The languages that are using the Hebrew alphabet
ISO-8859-9Latin 5 part 9The Turkish language. Same as ISO-8859-1 except Turkish characters replace Icelandic ones
ISO-8859-10Latin 6 Lappish, Nordic, EskimoThe Nordic languages
ISO-8859-15Latin 9 (aka Latin 0)Similar to ISO 8859-1 but replaces some less common symbols with the euro sign and some other missing characters
ISO-2022-JPLatin/Japanese part 1The Japanese language
ISO-2022-JP-2Latin/Japanese part 2The Japanese language
ISO-2022-KRLatin/Korean part 1The Korean language

The Unicode Standard

Because the character-sets listed above are limited in size, and are not compatible in multilingual environments, the Unicode Consortium developed the Unicode Standard.

The Unicode Standard covers all the characters, punctuations, and symbols in the world.

Unicode enables processing, storage and interchange of text data no matter what the platform, no matter what the program, no matter what the language.

The Unicode Consortium

The Unicode Consortium develops the Unicode Standard. Their goal is to replace the existing character-sets with its standard Unicode Transformation Format (UTF).

The Unicode Standard has become a success and is implemented in XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, etc. The Unicode standard is also supported in many operating systems and all modern browsers.

The Unicode Consortium cooperates with the leading standards development organizations, like ISO, W3C, and ECMA.

Unicode can be implemented by different character-sets. The most commonly used encodings are UTF-8 and UTF-16:

UTF-8A character in UTF8 can be from 1 to 4 bytes long. UTF-8 can represent any character in the Unicode standard. UTF-8 is backwards compatible with ASCII. UTF-8 is the preferred encoding for e-mail and web pages
UTF-1616-bit Unicode Transformation Format is a variable-length character encoding for Unicode, capable of encoding the entire Unicode repertoire. UTF-16 is used in major operating systems and environments, like Microsoft Windows 2000/XP/2003/Vista/CE and the Java and .NET byte code environments

Tip: The first 256 characters of Unicode character-sets correspond to the 256 characters of ISO-8859-1.

Tip: All HTML 4 processors already support UTF-8, and all XHTML and XML processors support UTF-8 and UTF-16!