ISO 8859-15 / Latin-9 Character Table

–printable characters (8 changed)
CharHexUnicode namevs Latin-1
 A0No-Break Spacesame as Latin-1
¡A1Inverted Exclamation Marksame as Latin-1
¢A2Cent Signsame as Latin-1
£A3Pound Signsame as Latin-1
€A4Euro Signeuro sign - the headline replacement for the Latin-1 currency sign (Latin-1 had currency sign ¤ here)
¥A5Yen Signsame as Latin-1
ŠA6Latin Capital Letter S With Caroncapital S with caron (Czech/Slovene/etc.) (Latin-1 had broken bar ¦ here)
§A7Section Signsame as Latin-1
šA8Latin Small Letter S With Caronsmall s with caron (Latin-1 had diaeresis ¨ here)
©A9Copyright Signsame as Latin-1
ªAAFeminine Ordinal Indicatorsame as Latin-1
«ABLeft-Pointing Double Angle Quotation Marksame as Latin-1
¬ACNot Signsame as Latin-1
­ADSoft Hyphensame as Latin-1
®AERegistered Signsame as Latin-1
¯AFMacronsame as Latin-1
°B0Degree Signsame as Latin-1
±B1Plus-Minus Signsame as Latin-1
²B2Superscript Twosame as Latin-1
³B3Superscript Threesame as Latin-1
ŽB4Latin Capital Letter Z With Caroncapital Z with caron (Estonian/Finnish loanwords) (Latin-1 had acute accent ´ here)
µB5Micro Signsame as Latin-1
B6Pilcrow Signsame as Latin-1
·B7Middle Dotsame as Latin-1
žB8Latin Small Letter Z With Caronsmall z with caron (Latin-1 had cedilla ¸ here)
¹B9Superscript Onesame as Latin-1
ºBAMasculine Ordinal Indicatorsame as Latin-1
»BBRight-Pointing Double Angle Quotation Marksame as Latin-1
ŒBCLatin Capital Ligature Oecapital OE ligature - back from the 1985 draft drama, now at a different address (Latin-1 had vulgar fraction one quarter ¼ here)
œBDLatin Small Ligature Oesmall oe ligature - likewise relocated (Latin-1 had vulgar fraction one half ½ here)
ŸBELatin Capital Letter Y With Diaeresiscapital Y with diaeresis - so French uppercase conversion is lossless (Latin-1 had vulgar fraction three quarters ¾ here)
¿BFInverted Question Marksame as Latin-1
ÀC0Latin Capital Letter A With Gravesame as Latin-1
ÁC1Latin Capital Letter A With Acutesame as Latin-1
ÂC2Latin Capital Letter A With Circumflexsame as Latin-1
ÃC3Latin Capital Letter A With Tildesame as Latin-1
ÄC4Latin Capital Letter A With Diaeresissame as Latin-1
ÅC5Latin Capital Letter A With Ring Abovesame as Latin-1
ÆC6Latin Capital Letter Aesame as Latin-1
ÇC7Latin Capital Letter C With Cedillasame as Latin-1
ÈC8Latin Capital Letter E With Gravesame as Latin-1
ÉC9Latin Capital Letter E With Acutesame as Latin-1
ÊCALatin Capital Letter E With Circumflexsame as Latin-1
ËCBLatin Capital Letter E With Diaeresissame as Latin-1
ÌCCLatin Capital Letter I With Gravesame as Latin-1
ÍCDLatin Capital Letter I With Acutesame as Latin-1
ÎCELatin Capital Letter I With Circumflexsame as Latin-1
ÏCFLatin Capital Letter I With Diaeresissame as Latin-1
ÐD0Latin Capital Letter Ethsame as Latin-1
ÑD1Latin Capital Letter N With Tildesame as Latin-1
ÒD2Latin Capital Letter O With Gravesame as Latin-1
ÓD3Latin Capital Letter O With Acutesame as Latin-1
ÔD4Latin Capital Letter O With Circumflexsame as Latin-1
ÕD5Latin Capital Letter O With Tildesame as Latin-1
ÖD6Latin Capital Letter O With Diaeresissame as Latin-1
×D7Multiplication Signsame as Latin-1
ØD8Latin Capital Letter O With Strokesame as Latin-1
ÙD9Latin Capital Letter U With Gravesame as Latin-1
ÚDALatin Capital Letter U With Acutesame as Latin-1
ÛDBLatin Capital Letter U With Circumflexsame as Latin-1
ÜDCLatin Capital Letter U With Diaeresissame as Latin-1
ÝDDLatin Capital Letter Y With Acutesame as Latin-1
ÞDELatin Capital Letter Thornsame as Latin-1
ßDFLatin Small Letter Sharp Ssame as Latin-1
àE0Latin Small Letter A With Gravesame as Latin-1
áE1Latin Small Letter A With Acutesame as Latin-1
âE2Latin Small Letter A With Circumflexsame as Latin-1
ãE3Latin Small Letter A With Tildesame as Latin-1
äE4Latin Small Letter A With Diaeresissame as Latin-1
åE5Latin Small Letter A With Ring Abovesame as Latin-1
æE6Latin Small Letter Aesame as Latin-1
çE7Latin Small Letter C With Cedillasame as Latin-1
èE8Latin Small Letter E With Gravesame as Latin-1
éE9Latin Small Letter E With Acutesame as Latin-1
êEALatin Small Letter E With Circumflexsame as Latin-1
ëEBLatin Small Letter E With Diaeresissame as Latin-1
ìECLatin Small Letter I With Gravesame as Latin-1
íEDLatin Small Letter I With Acutesame as Latin-1
îEELatin Small Letter I With Circumflexsame as Latin-1
ïEFLatin Small Letter I With Diaeresissame as Latin-1
ðF0Latin Small Letter Ethsame as Latin-1
ñF1Latin Small Letter N With Tildesame as Latin-1
òF2Latin Small Letter O With Gravesame as Latin-1
óF3Latin Small Letter O With Acutesame as Latin-1
ôF4Latin Small Letter O With Circumflexsame as Latin-1
õF5Latin Small Letter O With Tildesame as Latin-1
öF6Latin Small Letter O With Diaeresissame as Latin-1
÷F7Division Signsame as Latin-1
øF8Latin Small Letter O With Strokesame as Latin-1
ùF9Latin Small Letter U With Gravesame as Latin-1
úFALatin Small Letter U With Acutesame as Latin-1
ûFBLatin Small Letter U With Circumflexsame as Latin-1
üFCLatin Small Letter U With Diaeresissame as Latin-1
ýFDLatin Small Letter Y With Acutesame as Latin-1
þFELatin Small Letter Thornsame as Latin-1
ÿFFLatin Small Letter Y With Diaeresissame as Latin-1
ISO/IEC 8859-15:1999 - informally Latin-9, and for a while Latin-0 - is the revision of Latin-1 that the 1990s actually needed: it is similar to ISO 8859-1 and intended for the same Western European languages, but replaces some less common symbols with the euro sign and letters that had been judged necessary. The swap list is exactly eight characters: currency sign, broken bar, diaeresis, acute accent, cedilla and the three vulgar fractions (one quarter, one half, three quarters) step aside for the euro sign, S and Z with caron for Czech, Slovak, Slovene and the Finno-Ugric loanwords, and the French trio - capital OE, small oe and capital Y-with-diaeresis, the very characters lost in the 1985 draft drama charted on our Latin-1 page.
The ironies are documented. The French trio had already been present in DEC’s Multinational Character Set in 1983, the ancestor of ECMA-94 and Latin-1 - but because their original code points had been given away in 1985, the 1999 restoration had to house them at “less logical” addresses (0xBC–0xBE, where Latin-1 kept its fractions). The euro’s slot was fought over too: replacing the plus-minus sign was proposed and opposed - one objector noted that “+-” already had a fixed mathematical meaning and that the swap would “hurt a physicist’s aesthetic feelings” - so the currency sign ¤ took the fall instead. An early proposal (the would-be ISO 8859-16) also considered Dutch IJ and Turkish letters, which were dropped as unnecessary or risky. Every row above was verified byte-by-byte with the official Unicode mapping table for ISO 8859-15, and the eight changed rows are marked. Kin on this site: the Latin-1 table - 88 of these 96 characters are identical - and the Windows-1252 table, which solved the euro with a different trick.

ISO/IEC 8859-15:1999 - informally Latin-9, and for a while Latin-0 - is the revision of Latin-1 that the 1990s actually needed: similar to ISO 8859-1, intended for the same Western European languages, but with some less common symbols replaced by the euro sign and by letters that had been judged necessary. It is Latin-1 with exactly eight characters swapped.

The swap list is precise: currency sign, broken bar, diaeresis, acute accent, cedilla and the three vulgar fractions step aside for the euro sign (€), S and Z with caron (Š š Ž ž - for Czech, Slovak, Slovene and Finno-Ugric loanwords), and the French trio ŒOEŒ, œoeœ and Ÿ - the characters lost in the 1985 draft drama, restored fourteen years later at new addresses.

The table below lists all 96 printable characters (0xA0–0xFF), byte-verified against the official Unicode mapping table, with the eight changed rows marked.

How to use

  1. Read the vs Latin-1 column first: the eight marked rows are the whole difference between the encodings (unmarked text is byte-identical in both encodings). The euro (€) at 0xA4 is the headline change and the one that motivated the revision.
  2. Expect the French trio at unexpected addresses: ŒOEŒ, œoeœ and Ÿ sit at 0xBC, 0xBD and 0xBE - the slots Latin-1 gave to the vulgar fractions - because their original 1985 positions (0xD7, 0xF7 and a hypothetical Ÿ slot) were already occupied by the multiplication sign, the division sign and nothing at all.
  3. For conversions, treat the caron quartet (Š š Ž ž) as the practical test: Czech, Slovak, Slovene, Estonian and Finnish text in Latin-9 uses them heavily, so a byte 0xA6/0xA8/0xB4/0xB8 decoded as Latin-1 yields a broken bar, diaeresis, acute accent or cedilla where a letter should be - the classic symptom of the wrong codec.

Frequently asked questions

What exactly changed between ISO 8859-1 and 8859-15?

Eight characters. Out went the currency sign ¤ (0xA4), broken bar ¦ (0xA6), diaeresis ¨ (0xA8), acute accent ´ (0xB4), cedilla ¸ (0xB8) and the fractions one quarter ¼, one half ½ and three quarters ¾ (0xBC–0xBE). In came the euro sign €, the caron letters Š š Ž ž, and the French ŒOEŒ, œoeœ and Ÿ. The chart above marks all eight rows; the other 88 printable characters are byte-identical to Latin-1.

Why was the currency sign sacrificed for the euro?

Because the alternative was worse: replacing the plus-minus sign ± was proposed and opposed in the standards correspondence - one objector argued that “+-” already had a fixed mathematical meaning, quite different from ±, and that the substitution would “hurt a physicist’s aesthetic feelings.” The currency sign ¤ took the fall instead, though some applications used it as a field separator or subtotal marker. The euro was not negotiable - it arrived in 1999 physically, and encodings had to follow.

Why are the French letters at "wrong" addresses in 8859-15?

History moved twice. The French trio was present in DEC’s Multinational Character Set of 1983, the ancestor of Latin-1, but the 1985 draft drama (the French delegate’s “mere ligatures” ruling) gave 0xD7 and 0xF7 to the multiplication and division signs and left Ÿ unencoded. When 8859-15 restored them in 1999, their original slots were long occupied, so Wikipedia notes less logical codepoints had to be chosen - the fractions’ old spots at 0xBC–0xBE.

Is Latin-9 the same as Latin-0?

Same encoding, two informal names: ISO/IEC 8859-15 was informally referred to as Latin-9, and for a while as Latin-0 - the zero framing it as the new, clean baseline for Western Europe. Latin-9 won the naming contest.

Do I need Latin-9 today?

Rarely, deliberately: Unicode and UTF-8 superseded the whole 8859 family, and Windows-1252 (with the euro at 0x80) had already solved the practical problem for Windows text. Latin-9 matters in three places - legacy systems standardized on it (some European government and banking integrations), correctness checks when migrating old byte streams, and understanding that a French ŒOEŒ at byte 0xBC means Latin-9, not Latin-1, where that byte is one quarter.

Related tools