ISO/IEC 8859-1

Character encoding for the Latin alphabets of Western European languages

ISO/IEC 8859-1:1998, Information technology — 8-bit single-byte coded graphic character sets — Part 1: Latin alphabet No. 1, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1987. ISO 8859-1 encodes what it refers to as "Latin alphabet no. 1", consisting of 191 characters from the Latin script. This character-encoding scheme is used throughout the Americas, Western Europe, Oceania, and much of Africa. It is the basis for some popular 8-bit character sets and the first two blocks of characters in Unicode.

ISO-8859-1 was (according to the standard, at least) the default encoding of documents delivered via HTTP with a MIME type beginning with "text/" (HTML5 changed this to Windows-1252).[1][2] As of July 2021, 1.3% of all (but only 0.6% of the top-1000[3]) web sites use ISO 8859-1.[4][5] It is the most declared single-byte character encoding in the world on the web, but as web browsers interpret it as the superset Windows-1252 the documents may include characters from that set.

Depending on the country, use can be much higher than the global average, e.g. for Germany at 5.6% (and including Windows-1252 at 6.3%),[6][7] or even higher for minority languages.[8]

ISO-8859-1 was the default encoding of the values of certain descriptive HTTP headers, and defined the repertoire of characters allowed in HTML 3.2 documents, and is specified by many other standards. This and similar sets are often assumed to be the encoding of 8-bit text on Unix and Microsoft Windows if there is no byte order mark (BOM); this is only gradually being changed to UTF-8.

ISO-8859-1 is the IANA preferred name for this standard when supplemented with the C0 and C1 control codes from ISO/IEC 6429. The following other aliases are registered: iso-ir-100, csISOLatin1, latin1, l1, IBM819. Code page 28591 a.k.a. Windows-28591 is used for it in Windows.[9] IBM calls it code page 819 or CP819 (CCSID 819).[10][11][12][13] Oracle calls it WE8ISO8859P1.[14]

Each character is encoded as a single eight-bit code value. These code values can be used in almost any data interchange system to communicate in the following languages (while it may exclude correct quotation marks such as for many languages including German and Icelandic):

ISO-8859-1 was commonly used[citation needed] for certain languages, even though it lacks characters used by these languages. In most cases, only a few letters are missing or they are rarely used, and they can be replaced with characters that are in ISO-8859-1 using some form of typographic approximation. The following table lists such languages.

The letter ÿ, which appears in French only very rarely, mainly in city names such as L'Haÿ-les-Roses and never at the beginning of words, is included only in lowercase form. The slot corresponding to its uppercase form is occupied by the lowercase letter ß from the German language, which did not have an uppercase form at the time when the standard was created.

For some languages listed above, the correct typographical quotation marks are missing, as only « », " ", and ' ' are included. Also, this scheme does not provide for oriented (6- or 9-shaped) single or double quotation marks. Some fonts will display the spacing grave accent (0x60) and the apostrophe (0x27) as a matching pair of oriented single quotation marks, but this is not considered part of the modern standard.

ISO 8859-1 was based on the Multinational Character Set (MCS) used by Digital Equipment Corporation (DEC) in the popular VT220 terminal in 1983. It was developed within the European Computer Manufacturers Association (ECMA), and published in March 1985 as ECMA-94,[15] by which name it is still sometimes known. The second edition of ECMA-94 (June 1986)[16] also included ISO 8859-2, ISO 8859-3, and ISO 8859-4 as part of the specification.

The original draft of ISO 8859-1 placed French Œ and œ at code points 215 (0xD7) and 247 (0xF7), as in the MCS. However, the delegate from France, being neither a linguist nor a typographer, falsely stated that these are not independent French letters on their own, but mere ligatures (like or ), supported by the delegate team from Bull Publishing Company, who regularly did not print French with Œ/œ in their house style at the time. An anglophone delegate from Canada insisted on retaining Œ/œ but was rebuffed by the French delegate and the team from Bull. These code points were soon filled with × and ÷ under the suggestion of the German delegation. Support for French was further reduced when it was again falsely stated that the letter ÿ is "not French", resulting in the absence of the capital Ÿ. In fact, the letter ÿ is found in a number of French proper names, and the capital letter has been used in dictionaries and encyclopedias.[17] These characters were added to ISO/IEC 8859-15:1999. BraSCII matches the original draft.

In 1985, Commodore adopted ECMA-94 for its new AmigaOS operating system.[18] The Seikosha MP-1300AI impact dot-matrix printer, used with the Amiga 1000, included this encoding.[citation needed]

In 1990, the very first version of Unicode used the code points of ISO-8859-1 as the first 256 Unicode code points.

In 1992, the IANA registered the character map ISO_8859-1:1987, more commonly known by its preferred MIME name of ISO-8859-1 (note the extra hyphen over ISO 8859-1), a superset of ISO 8859-1, for use on the Internet. This map assigns the C0 and C1 control codes to the unassigned code values thus provides for 256 characters via every possible 8-bit value.

  Letter  Number  Punctuation  Symbol  Other  Undefined   Undefined in the first release of ECMA-94 (1985).[15] In the original draft, however, Œ was at codepoint 215 (0xD7) and œ was at codepoint 247 (0xF7).

ISO/IEC 8859-15 was developed in 1999, as an update of ISO/IEC 8859-1. It provides some characters for French and Finnish text and the euro sign, which are missing from ISO/IEC 8859-1. This required the removal of some infrequently used characters from ISO/IEC 8859-1, including fraction symbols and letter-free diacritics: ¤, ¦, ¨, ´, ¸, ¼, ½, and ¾. Ironically, three of the newly added characters (Œ, œ, and Ÿ) had already been present in DEC's 1983 Multinational Character Set (MCS), the predecessor to ISO/IEC 8859-1 (1987). Since their original code points were now reused for other purposes, the characters had to be reintroduced under different, less logical code points.

ISO-IR-204, a more minor modification, had been registered in 1998, altering ISO-8859-1 by replacing the universal currency sign (¤) with the euro sign[19] (the same substitution made by ISO-8859-15).

The popular Windows-1252 character set adds all the missing characters provided by ISO/IEC 8859-15, plus a number of typographic symbols, by replacing the rarely used C1 controls in the range 128 to 159 (hex 80 to 9F). It is very common to mislabel Windows-1252 text as being in ISO-8859-1. A common result was that all the quotes and apostrophes (produced by "smart quotes" in word-processing software) were replaced with question marks or boxes on non-Windows operating systems, making text difficult to read. Many web browsers and e-mail clients will interpret ISO-8859-1 control codes as Windows-1252 characters, and that behavior was later standardized in HTML5.[20]

The Apple Macintosh computer introduced a character encoding called Mac Roman in 1984. It was meant to be suitable for Western European desktop publishing. It is a superset of ASCII, and has most of the characters that are in ISO-8859-1 and all the extra characters from Windows-1252 but in a totally different arrangement. The few printable characters that are in ISO 8859-1, but not in this set, are often a source of trouble when editing text on Web sites using older Macintosh browsers, including the last version of Internet Explorer for Mac.

DOS had code page 850, which had all printable characters that ISO-8859-1 had (albeit in a totally different arrangement) plus the most widely used graphic characters from code page 437.

Between 1989[21] and 2015, Hewlett-Packard used another superset of ISO-8859-1 on many of their calculators. This proprietary character set was sometimes referred to simply as "ECMA-94" as well.[21]