Конвертер кодировок текста

Перекодировать CP866 (DOS) в Windows-1251

CP866 — русская кодировка MS-DOS, её ещё называют альтернативной или OEM-кодировкой. Windows так и не отказалась от неё полностью: в русской версии системы командная строка по умолчанию работает в CP866, а графические программы — в Windows-1251 или UTF-8. Из-за этого на одном компьютере до сих пор живут две разные кириллические кодировки.

Где встречается CP866

  • Вывод консольных команд, перенаправленный в файл: dir > list.txt, ipconfig > net.txt.
  • Bat- и cmd-файлы с русским текстом, написанные для старых версий Windows.
  • Файлы DBF, отчёты и выгрузки программ, созданных для DOS.
  • Имена файлов в ZIP-архивах, созданных в Windows старыми архиваторами: при распаковке в другой системе «Отчет.doc» превращается в ЋвзҐв.doc или ÄΓτÑΓ.doc.
  • Файлы обмена с банк-клиентом, в заголовке которых стоит Кодировка=DOS.

Как узнать CP866 по кракозябрам

Как выглядит текстЧто произошлоИсходная → нужная
ЏаЁўҐв, ¬ЁаCP866 открыт как Windows-1251: редкие буквы вроде «Џ», «Ё», «ў», «Ґ»Windows-1251 → CP866
╧ЁштхЄ, ьшЁWindows-1251 открыт как CP866: рамки и линии псевдографикиCP866 → Windows-1251
╨Я╤А╨╕╨▓╨╡╤ВUTF-8 в командной строке, которая работает в CP866CP866 → UTF-8

Кнопка «Определить кодировку текста» распознаёт все три случая. На этой странице заранее выбран самый частый — исходная Windows-1251, нужная CP866.

Как перекодировать файл

  1. Нажмите «Загрузить файл» и выберите файл в CP866. Конвертер покажет его как текст вида «ЏаЁўҐв» и сразу исправит — результат появится в нижнем поле.
  2. Выберите кодировку файла Windows-1251 или UTF-8 и нажмите «Скачать файл в этой кодировке».

Без сайта: в Notepad++ выберите «Кодировки» → «Кириллица» → «OEM 866», чтобы текст стал читаемым, затем «Кодировки» → «Преобразовать в ANSI» или «Преобразовать в UTF-8». В Linux и macOS — iconv -f CP866 -t CP1251 input.txt > output.txt.

Если кракозябры появляются в самой командной строке, а не в файле, читайте инструкцию про командную строку и bat-файлы.

Частые вопросы

Почему в Windows две русские кодировки — CP866 и Windows-1251?
CP866 появилась во времена DOS и сохранила на привычных местах символы псевдографики, из которых программы рисовали рамки и меню. Для графической Windows Microsoft сделала новую таблицу Windows-1251, а консоль ради совместимости со старыми программами осталась в CP866.
Чем CP866 отличается от «OEM» и «DOS» в настройках программ?
Для русского текста это одно и то же. «OEM» в Windows означает кодировку консоли, которая в русской версии системы равна CP866, а «DOS» — её историческое название.