There existed a few variants of the code page, but the differences were mostly in the last 16 code points (240–255).
Alternative code page The original version of the code page by Bryabrin et al. (1986) This version supports only
Russian and
Bulgarian. The differing row is shown below.
GOST R 34.303-92 The
GOST R 34.303-92 standard defines two variants, KOI-8 N1 and KOI-8 N2. These are not to be confused with the
KOI-8 encoding, which they do not adhere to.
KOI-8 N2 KOI-8 N2 is the more extensive variant and matches code page 866 and the Alternative code page except for the last row or
stick. For this last row, it supports letters for
Belarusian and
Ukrainian in addition to Russian, but in a layout unrelated to code page 866 or 1125. Notably the Russian
Ё/
ё (which was unchanged between the Alternative code page and code page 866) is also in a different location. KOI-8 N2's final stick is shown below. It mostly matches code page 866 and the Alternative code page, but replaces the last row and some
block characters with letters from the
Lithuanian alphabet not otherwise present in ASCII. The Russian
Ё/
ё is not supported, abbreviated CP1125, and also known as CP866U, CP866NAV or RUSCII. It matches the original Alternative code page for all points except for F2hex through F9hex inclusive, which are replaced with
Ukrainian letters. matches code page 866 for all points except for F8hex, F9hex, and FChex through FEhex inclusive, which are replaced with otherwise-missing Ukrainian and
Belarusian letters, in the process displacing the
bullet character (∙) from F9hex to FEhex. The differing rows are shown below.
Hryvnia variants FreeDOS
code page 30040 is a variant of code page 866 which replaces the currency sign (¤) at byte 0xFD with the hryvnia sign (₴, U+20B4). FreeDOS
code page 30039 is a variant of code page 1125 which makes the same replacement.
Euro sign updates IBM code page/CCSID 808 is a variant of code page/CCSID 866; with the
euro sign (€, U+20AC) in position FDhex, replacing the
universal currency sign (¤). IBM code page/CCSID 848 is a variant of code page/CCSID 1125 with the euro sign at FDhex, replacing ¤. IBM code page/CCSID 849 is a variant of code page/CCSID 1131 with the euro sign at FBhex, replacing ¤.
Lehner–Czech modification An unofficial modification used in software developed by
Michael Lehner and
Peter R. Czech. It replaces three mathematic symbols with
guillemets and the
section sign which are commonly used in the Russian language. (Lehner and Czech created a number of alternative character sets for other European languages as well, including one based on
CWI-2 for
Hungarian, a
Kamenicky-based one for
Czech and
Slovak, a
Mazovia variant for
Polish and a seemingly-unique encoding for
Lithuanian. The modified row is shown below.
Latvian variant A Latvian variant, supported by
Star printers and FreeDOS, is
code page 3012 (earlier FreeDOS called it
code page 61282). This encoding is nicknamed "RusLat".
FreeDOS FreeDOS provides additional unofficial extensions of code page 866 for various non-Slavic languages: • 30002 – Cyrillic
Tajik • 30008 – Cyrillic
Abkhaz and
Ossetian • 30010 – Cyrillic
Gagauz and
Moldovan • 30011 – Cyrillic Russian Southern District (
Kalmyk,
Karachay-Balkar,
Ossetian,
North Caucasian) • 30012 – Cyrillic Russian Siberian and Far Eastern Districts (
Altai,
Buryat,
Khakas,
Tuvan,
Yakut,
Tungusic,
Paleo-Siberian) • 30013 – Cyrillic Volga District – Turkic languages (
Bashkir,
Chuvash,
Tatar) • 30014 – Cyrillic Volga District – Finno-Ugric languages (
Mari,
Udmurt) • 30015 – Cyrillic
Khanty • 30016 – Cyrillic
Mansi • 30017 – Cyrillic Northwestern District (Cyrillic
Nenets, Latin
Karelian, Latin
Veps) • 30018 – Latin
Tatar and Cyrillic Russian • 30019 – Latin
Chechen and Cyrillic Russian • 58152 – Cyrillic
Kazakh with euro • 58210 – Cyrillic
Azeri • 59234 – Cyrillic
Tatar • 60258 – Latin
Azeri and Cyrillic Russian • 62306 – Cyrillic
Uzbek == Code page 900 ==