Одна из возможных проблем, с которыми можно столкнуться после установки Windows 10 — кракозябры вместо русских букв в интерфейсе программ, а также в документах. Чаще неправильное отображение кириллицы встречается в изначально англоязычных и не совсем лицензионных версиях системы, но бывают и исключения.
В этой инструкции — о том, как исправить «кракозябры» (или иероглифы), а точнее — отображение кириллицы в Windows 10 несколькими способами. Возможно, также будет полезным: Как установить и включить русский язык интерфейса в Windows 10 (для систем на английском и других языках).
Исправление отображения кириллицы с помощью настроек языка и региональных стандартов Windows 10

Самый простой и чаще всего работающий способ убрать кракозябры и вернуть русские буквы в Windows 10 — исправить некоторые неправильные настройки в параметрах системы.
Для этого потребуется выполнить следующие шаги (примечание: привожу также названия нужных пунктов на английском, так как иногда необходимость исправить кириллицу возникает в англоязычных версиях системы без нужды менять язык интерфейса).
- Откройте панель управления (для этого можно начать набирать «Панель управления» или «Control Panel» в поиске на панели задач.
- Убедитесь, что в поле «Просмотр» (View by) установлено «Значки» (Icons) и выберите пункт «Региональные стандарты» (Region).

- На вкладке «Дополнительно» (Administrative) в разделе «Язык программ, не поддерживающих Юникод» (Language for non-Unicode programs) нажмите по кнопке «Изменить язык системы» (Change system locale).

- Выберите русский язык, нажмите «Ок» и подтвердите перезагрузку компьютера.

После перезагрузки проверьте, была ли решена проблема с отображением русских букв в интерфейсе программ и (или) документах — обычно, кракозябры бывают исправлены после этих простых действий.

Как исправить иероглифы Windows 10 путем изменения кодовых страниц
Кодовые страницы представляют собой таблицы, в которых определенным байтам сопоставляются определенные символы, а отображение кириллицы в виде иероглифов в Windows 10 связано обычно с тем, что по умолчанию задана не та кодовая страница и это можно исправить несколькими способами, которые могут быть полезны, когда требуется не изменять язык системы в параметрах.
С помощью редактора реестра
Первый способ — использовать редактор реестра. На мой взгляд, это самый щадящий для системы метод, тем не менее, рекомендую создать точку восстановления прежде чем начинать. Совет про точки восстановления относится и ко всем последующим способам в этом руководстве.
- Нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter, откроется редактор реестра.
- Перейдите к разделу реестра HKEY_LOCAL_MACHINE SYSTEM CurrentControlSetControl Nls CodePage и в правой части пролистайте значения этого раздела до конца.

- Дважды нажмите по параметру ACP, установите значение 1251 (кодовая страница для кириллицы), нажмите Ок и закройте редактор реестра.

- Перезагрузите компьютер (именно перезагрузка, а не завершение работы и включение, в Windows 10 это может иметь значение).
Обычно, это исправляет проблему с отображением русских букв. Вариация способа с помощью редактора реестра (но менее предпочтительная) — посмотреть на текущее значение параметра ACP (обычно — 1252 для изначально англоязычных систем), затем в том же разделе реестра найти параметр с именем 1252 и изменить его значение с c_1252.nls на c_1251.nls.

Путем подмена файла кодовой страницы на c_1251.nls
Второй, не рекомендуемый мной способ, но иногда выбираемый теми, кто считает, что правка реестра — это слишком сложно или опасно: подмена файла кодовой страницы в C: Windows System32 (предполагается, что у вас установлена западно-европейская кодовая страница — 1252, обычно это так. Посмотреть текущую кодовую страницу можно в параметре ACP в реестре, как было описано в предыдущем способе).
- Зайдите в папку C: Windows System32 и найдите файл c_1252.NLS, нажмите по нему правой кнопкой мыши, выберите пункт «Свойства» и откройте вкладку «Безопасность». На ней нажмите кнопку «Дополнительно».

- В поле «Владелец» нажмите «Изменить».

- В поле «Введите имена выбираемых объектов» укажите ваше имя пользователя (с правами администратора). Если в Windows 10 используется учетная запись Майкрософт, вместо имени пользователя укажите адрес электронной почты. Нажмите «Ок» в окне, где указывали пользователя и в следующем (Дополнительные параметры безопасности) окне.

- Вы снова окажетесь на вкладке «Безопасность» в свойствах файла. Нажмите кнопку «Изменить».
- Выберите пункт «Администраторы» (Administrators) и включите полный доступ для них. Нажмите «Ок» и подтвердите изменение разрешений. Нажмите «Ок» в окне свойств файла.

- Переименуйте файл c_1252.NLS (например, измените расширение на .bak, чтобы не потерять этот файл).
- Удерживая клавишу Ctrl, перетащите находящийся там же в C: Windows System32 файл c_1251.NLS (кодовая страница для кириллицы) в другое место этого же окна проводника, чтобы создать копию файла.

- Переименуйте копию файла c_1251.NLS в c_1252.NLS.
- Перезагрузите компьютер.
После перезагрузки Windows 10 кириллица должна будет отображаться не в виде иероглифов, а как обычные русские буквы.

Особенно сильно проблема с кодировкой стала актуальна после выхода новой . Микрософты опять что-то перемудрили и в итоге, в некоторых приложениях вместо языка одни кракозябры. Но все решаемо
На самом деле причин сброса или изменения кодировки может быть довольно большое множество. Но основные из них, это:
— обновление системы
— установка какого-то системного патча
— действие вируса
— обновление до windows 10
— кривые шаловливые руки и непомерная любознательность ( самая распространенная причина всех бед в windows )
Восстановление кодировки
Тем не менее, раз уж данная проблема возникла, нужно ее решать. Ниже приведены скрины, любезно предоставленные одним человеком с одного популярного форума. На них можно посмотреть без риска и экспериментов на собственной системе, ‘что будет если сменить кодировку’. Все шрифты представлены как совершенно нечитаемые арабские кракозябры.
При всем, казалось бы, диком ужасе ситуации, решается данная проблема весьма несложно:
заходим в ->Язык и региональные стандарты->->Язык программ не поддерживающих Юникод. Меняем язык с Русского на Английский, перезагружаем компьютер, снова меняем на русский и опять перезагружаем компьютер. Снова наслаждаемся красивыми родными шрифтами!
В windows 10 кодировка привязывается глобально к общему языку системы. Поэтому если у вас проблемы с отображением шрифтов, то нужно пройти: -> -> Время и Язык -> Регион и язык -> Дополнительные настройки даты и времени, региональные параметры -> и посмотреть настройки в пунктах: и .
Поделиться в соц. сетях

Исправляем отображение русских букв в Windows 10
Существует два способа решения рассматриваемой проблемы. Связаны они с редактированием настроек системы или определенных файлов. Они отличаются по сложности и эффективности, поэтому мы начнем с легкого. Если первый вариант не принесет никакого результата, переходите ко второму и внимательно следуйте описанным там инструкциям.
Способ 1: Изменение языка системы
В первую очередь хотелось бы отметить такую настройку как «Региональные стандарты». В зависимости от его состояния и производится дальнейшее отображение текста во многих системных и сторонних программах. Редактировать его под русский язык можно следующим образом:
- Откройте меню «Пуск» и в строке поиска напечатайте «Панель управления». Кликните на отобразившийся результат, чтобы перейти к этому приложению.

Среди присутствующих элементов отыщите «Региональные стандарты» и нажмите левой кнопкой мыши на этот значок.</li>


Убедитесь в том, что выбран пункт «Русский (Россия)», если это не так, то во всплывающем меню укажите его. Можем также порекомендовать активировать бета-версию Юникода — это также иногда сказывается на корректном отображении кириллицы. После всех правок нажмите на «ОК».</li>

Корректировки вступят в силу только после перезагрузки ПК, о чем вы и будете уведомлены при выходе из меню настроек.</li>

Дождитесь перезапуска компьютера и проверьте, получилось ли исправить проблему с русскими буквами. Если нет, переходите к следующему, более сложному варианту решения этой задачи.
Способ 2: Редактирование кодовой страницы
Кодовые страницы выполняют функцию сопоставления символов с байтами. Существует множество разновидностей таких таблиц, каждая из которых работает с определенным языком. Часто причиной появления кракозябров является именно неправильно выбранная страница. Далее мы расскажем, как править значения в редакторе реестра.
Перед выполнением этого метода настоятельно рекомендуем создать точку восстановления, она поможет вернуть конфигурацию до внесения ваших изменений, если после них что-то пойдет не так. Детальное руководство по данной теме вы найдете в другом нашем материале по ссылке ниже.
Подробнее: Инструкция по созданию точки восстановления Windows 10
- Нажатием на комбинацию клавиш Win + R запустите приложение «Выполнить», в строке напечатайте
regeditи кликните на «ОК». - В окне редактирования реестра находится множество директорий и параметров. Все они структурированы, а необходимая вам папка расположена по следующему пути:
- Выберите «CodePage» и опуститесь в самый низ, чтобы отыскать там имя «ACP». В столбце «Значение» вы увидите четыре цифры, в случае когда там выставлено не 1251, дважды кликните ЛКМ на строке.

Двойное нажатие левой кнопкой мыши открывает окно изменения строковой настройки, где и требуется выставить значение 1251.</li>

Если же значение и так уже является 1251, следует провести немного другие действия:
- В этой же папке «CodePage» поднимитесь вверх по списку и отыщите строковый параметр с названием «1252» Справа вы увидите, что его значение имеет вид с_1252.nls. Его нужно исправить, поставив вместо последней двойки единицу. Дважды кликните на строке.

Откроется окно редактирования, в котором и выполните требуемую манипуляцию.</li>

После завершения работы с редактором реестра обязательно перезагрузите ПК, чтобы все корректировки вступили в силу.
Подмена кодовой страницы
Некоторые пользователи не хотят править реестр по определенным причинам либо же считают эту задачу слишком сложной. Альтернативным вариантом изменения кодовой страницы является ее ручная подмена. Производится она буквально в несколько действий:
- Откройте «Этот компьютер» и перейдите по пути
C:WindowsSystem32, отыщите в папке файл С_1252.NLS, кликните на нем правой кнопкой мыши и выберите «Свойства».

Переместитесь во вкладку «Безопасность» и найдите кнопку «Дополнительно».</li>

Вам нужно установить имя владельца, для этого кликните на соответствующую ссылку вверху.</li>

В пустом поле впишите имя активного пользователя, обладающего правами администратора, после чего нажмите на «ОК».</li>

Вы снова попадете во вкладку «Безопасность», где требуется откорректировать параметры доступа администраторов.</li>

Выделите ЛКМ строку «Администраторы» и предоставьте им полный доступ, установив галочку напротив соответствующего пункта. По завершении не забудьте применить изменения.</li>

Вернитесь в открытую ранее директорию и переименуйте отредактированный файл, поменяв его расширение с NLS, например, на TXT. Далее с зажатым CTRL потяните элемент «C_1251.NLS» вверх для создания его копии.</li>

Нажмите на созданной копии правой кнопкой мыши и переименуйте объект в C_1252.NLS.</li>

Вот таким нехитрым образом происходит подмена кодовых страниц. Осталось только перезапустить ПК и убедиться в том, что метод оказался эффективным.
Как видите, исправлению ошибки с отображением русского текста в операционной системе Windows 10 способствуют два достаточно легких метода. Выше вы были ознакомлены с каждым. Надеемся, предоставленное нами руководство помогло справиться с этой неполадкой.
Помогла ли вам эта статья?
- https://remontka.pro/fix-cyrillic-windows-10/
- http://feanor184.ru/windows/reshaem-problemu-s-kodirovkoy-prilozheniy-windows.html
- https://lumpics.ru/crackdowns-appeared-instead-of-russian-letters-in-windows-10/
Из этой статьи вы узнаете, как поменять язык на компьютере. Это повлияет на текст, который используется в меню и окнах. Поменять язык можно как в Windows, так и в Mac OS X. Имейте в виду, что описанные здесь методы не позволят изменить язык веб-браузера и других программ.
-

Откройте меню «Пуск»

. Для этого щелкните по логотипу Windows в нижнем левом углу экрана.
- Или нажмите клавишу Windows на клавиатуре.
-

Щелкните по «Параметры»

. Это значок в виде шестеренки, который находится в нижней левой части меню «Пуск».
-

Нажмите Время и язык. Эта опция находится посередине окна «Параметры».
-

Щелкните по вкладке Язык и региональные стандарты. Вы найдете эту опцию в левом углу окна.
-

Нажмите . Эта опция расположена рядом с большим значком «+» в разделе «Языки» посередине страницы.
-

Выберите язык. Выберите язык, который будете использовать на компьютере.
-

Выберите диалект. Если щелкнуть по нужному языку, откроется страница со списком региональных диалектов; щелкните по диалекту, чтобы выбрать его.
- Возможно, у выбранного языка диалектов не будет.
-

Щелкните по добавленному языку. Он отобразится под текущим языком в разделе «Языки». Откроется окно со списком опций.
-

Нажмите . Эта кнопка отобразится под языком. Откроется окно с языковыми настройками.
-

-

Щелкните по значку

. Он находится в верхнем левом углу экрана.
-

Еще раз щелкните по языку и нажмите Сделать текущим языком. Вы найдете эту кнопку под языком. Выбранный язык переместится в начало раздела «Языки» и станет текущим языком всех встроенных меню, окон и других элементов, отображаемых на экране.
-

Перезагрузите компьютер. Откройте меню «Пуск», щелкните по значку

и нажмите« «Перезагрузить». Когда компьютер перезагрузится и вы войдете в систему, внесенные изменения вступят в силу.
-

Откройте меню Apple

. Щелкните по логотипу Apple в верхнем левом углу экрана. Отроется выпадающее меню.
-

Нажмите . Эта опция находится в верхней части выпадающего меню.
-

Щелкните по Язык и регион. Это значок в виде флага в верхней части окна «Системные настройки».
-

Щелкните по . Этот значок находится под нижнем левом углом поля «Предпочитаемый язык» в левой части окна «Язык и регион». Откроется всплывающее окно со списком языков.
-

Прокрутите вниз, чтобы выбрать нужный язык, а затем нажмите .
-

- Если вы пропустили этот шаг, перетащите добавленные язык в начало списка «Предпочитаемый язык».
-

Перезагрузите компьютер, чтобы изменения вступили в силу.
Советы
- Изменение языка системы не приведет к изменению языка программ. Чтобы изменить язык программы, выберите его во время ее установки или в ее настройках.
Предупреждения
- Не меняйте язык системы на тот, который вы не понимаете, или если вы не сможете вернуться к прежнему языку.
Об этой статье
Cleanmgr + – это полезная программа, которая может стереть практически любой файл, хранящийся на вашем настольном компьютере. Эта программа разработана, чтобы упростить сканирование и поиск файлов. Если вы не знаете, что удалить, или не можете найти все файлы, которые хотите удалить, попробуйте эту программу, найдите и удалите их за секунды.
Cleanmgr + отделяет важные системные файлы от подпапок, а ненужные файлы занимают только место на вашем компьютере, которое отображается в дереве данных. Это означает, что вы можете просматривать файловый кеш, временные файлы, недавние документы, файловые ошибки и другие ненужные файлы с главного экрана программы.
Сколько места вы можете сэкономить, удалив все эти файлы, показано в верхней части экрана, хотя вы также можете вручную выбрать или отменить выбор файлов для удаления. Кроме того, с Cleanmgr + вы можете вручную искать и удалять файлы или даже целые папки. Эта замечательная функция даёт вам возможность решить, что сохранить и что удалить на вашем компьютере.
Введение
Консольные приложения до сих пор остаются наиболее востребованным видом приложений, большинство разработчиков оттачивают архитектуру и бизнес-логику именно в консоли. При этом они нередко сталкиваются с проблемой локализации – русский текст, который вполне адекватно отражается в исходном файле, при выводе на консоль приобретает вид т.н. “кракозябр”.
В целом, локализация консоли Windows при наличии соответствующего языкового пакета не представляется сложной. Тем не менее, полное и однозначное решение этой проблемы, в сущности, до сих пор не найдено. Причина этого, главным образом, кроется в самой природе консоли, которая, являясь компонентом системы, реализованным статическим классом System.Console, предоставляет свои методы приложению через системные программы-оболочки, такие как командная строка или командный процессор (cmd.exe), PowerShell, Terminal и другие.
По сути, консоль находится под двойным управлением – приложения и оболочки, что является потенциально конфликтной ситуацией, в первую очередь в части использования кодировок.
Данный материал не предлагает строгий алгоритм действий, а направлен на описание узловых проблем, с которыми неизбежно сталкивается разработчик локализованного консольного приложения, а также некоторые возможные пути их разрешения. Предполагается, что это позволит разработчику сформировать стратегию работы с локализованной консолью и эффективно реализовать существующие технические возможности, большая часть которых хорошо описана и здесь опущена.
Виды консолей
В общем случае функции консоли таковы:
управление операционной системой и системным окружением приложений на основе применения стандартных системных устройств ввода-вывода (экран и клавиатура), использования команд операционной системы и/или собственно консоли;
запуск приложений и обеспечение их доступа к стандартным потокам ввода-вывода системы, также с помощью стандартных системных устройств ввода-вывода.
Основная консоль Windows – командная строка или иначе командный процессор (CMD). Большие возможности предоставляют оболочки PowerShell (PS), Windows PowerShell (WPS) и Terminal. По умолчанию Windows устанавливает Windows Power Shell мажорной версией до 5, однако предлагает перейти на новую версию – 7-ку, имеющую принципиальное отличие (вероятно, начинающееся с 6-ки) – кроссплатформенность. Terminal – также отдельно уставливаемое приложение, по сути интегратор всех ранее установленных оболочек PowerShell и командной строки.
Отдельным видом консоли можно считать консоль отладки Visual Studio (CMD-D).
Конфликт кодировок
Полностью локализованная консоль в идеале должна поддерживать все мыслимые и немыслимые кодировки приложений, включая свои собственные команды и команды Windows, меняя “на лету” кодовые страницы потоков ввода и вывода. Задача нетривиальная, а иногда и невозможная – кодовые страницы DOS (CP437, CP866) плохо совмещаются с кодовыми страницами Windows и Unicode.
История кодировок здесь: О кодировках и кодовых страницах / Хабр (habr.com)
Исторически кодовой страницей Windows является CP1251 (Windows-1251, ANSI, Windows-Cyr), уверенно вытесняемая 8-битной кодировкой Юникода CP65001 (UTF-8, Unicode Transformation Format), в которой выполняется большинство современных приложений, особенно кроссплатформенных. Между тем, в целях совместимости с устаревшими файловыми системами, именно в консоли Windows сохраняет базовые кодировки DOS – CP437 (DOSLatinUS, OEM) и русифицированную CP866 (AltDOS, OEM).
Совет 1. Выполнять разработку текстовых файлов (программных кодов, текстовых данных и др.) исключительно в кодировке UTF-8. Мир любит Юникод, а кроссплатформенность без него вообще невозможна.
Совет 2. Периодически проверять кодировку, например в текстовом редакторе Notepad++. Visual Studio может сбивать кодировку, особенно при редактировании за пределами VS.
Поскольку в консоли постоянно происходит передача управления от приложений к собственно командному процессору и обратно, регулярно возникает “конфликт кодировок”, наглядно иллюстрируемый таблица 1 и 2, сформированных следующим образом:
Команды и код приложения под катом
код тестового приложения:
using System;
using ova.common.logging.LogConsole;
using Microsoft.Extensions.Logging;
using ova.common.logging.LogConsole.Colors;
namespace LoggingConsole.Test
{ partial class Program { static void Main2(string[] args) { ColorLevels.ColorsDictionaryCreate(); Console.WriteLine("Hello World! Привет, мир!"); //вывод строки приветствия на двух языках LogConsole.Write("Лог из стартового проекта", LogLevel.Information); Console.WriteLine($"8. Active codepage: input {Console.InputEncoding.CodePage}, output {Console.OutputEncoding.CodePage}"); Console.ReadKey(); } }
}Командную часть задания все консоли локализовали практически без сбоев во всех кодировках, за исключением: в WPS неверно отображена русскоязычная часть команды во всех кодировках.

Вывод тестового приложения локализован лишь в 50% испытаний, как показано в табл.2.

По умолчанию Windows устанавливает для консоли кодовые страницы DOS. Чаще всего CP437, иногда CP866. Актуальные версии командной строки cmd.exe способны локализовать приложения на основе русифицированной кодовой страницы 866, но не 437, отсюда и изначальный конфликт кодировок консоли и приложения. Поэтому
Совет 4. Перед запуском приложения необходимо проверить кодовую страницу консоли командой CHCP и ей же изменить кодировку на совместимую – 866, 1251, 65001.
Совет 5. Можно установить кодовую страницу консоли по умолчанию. Кратко: в разделе реестра \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor добавить или изменить значение параметра Autorun на: chcp <номер кодовой страницы>. Очень подробно здесь: Изменить кодовую страницу консоли Windows по умолчанию на UTF-8 (qastack.ru), оригинал на английском здесь: Change default code page of Windows console to UTF-8.
Проблемы консолей Visual Studio
В Visual Studio имеется возможность подключения консолей, по умолчанию подключены командная строка для разработчика и Windows PowerShell для разработчика. К достоинствам можно отнести возможности определения собственных параметров консоли, отдельных от общесистемных, а также запуск консоли непосредственно в директории разработки. В остальном – это обычные стандартные консоли Windows, включая, как показано ранее, установленную кодовую страницу по умолчанию.
Отдельной опцией Visual Studio является встроенная односеансная консоль отладки, которая перехватывает команду Visual Studio на запуск приложения, запускается сама, ожидает компиляцию приложения, запускает его и отдает ему управление. Таким образом, отладочная консоль в течение всего рабочего сеанса находится под управлением приложения и возможность использования команд Windows или самой консоли, включая команду CHCP, не предусмотрена. Более того, отладочная консоль не воспринимает кодовую страницу по умолчанию, определенную в реестре, и всегда запускается в кодировке 437 или 866.
Совет 6. Тестирование приложения целесообразно выполнять во внешних консолях, более дружелюбных к локализации.
Анализ проблем консолей был бы не полон без ответа на вопрос – можно ли запустить консольное приложение без консоли? Можно – любой файл “.exe” запустится двойным кликом, и даже откроется окно приложения. Однако консольное приложение, по крайней мере однопоточное, по двойному клику запустится, но консольный режим не поддержит – все консольные вводы-выводы будут проигнорированы, и приложение завершится
Локализация отладочной консоли Visual Studio
Отладочная консоль – наиболее востребованная консоль разработчика, гораздо более удобная, чем внешняя консоль, поэтому резонно приложить максимум усилий для ее локализации.
На самом деле, правильнее говорить о локализации приложения в консоли – это важное уточнение. Microsoft по этому поводу высказывается недвусмысленно: “Programs that you start after you assign a new code page use the new code page. However, programs (except Cmd.exe) that you started before assigning the new code page will continue to use the original code page”. Иными словами, консоль можно локализовать когда угодно и как угодно, но приложение будет локализовано в момент стабилизации взаимодействия с консолью в соответствии с текущей локализацией консоли, и эта локализация сохранится до завершения работы приложения. В связи с этим возникает вопрос – в какой момент окончательно устанавливается связь консоли и приложения?
Важно! Приложение окончательно стабилизирует взаимодействие с консолью в момент начала ввода-вывода в консоль, благодаря чему и появляется возможность программного управления локализацией приложения в консоли – до первого оператора ввода-вывода.
Ниже приведен пример вывода тестового приложения в консоль, иллюстрирующий изложенное. Метод Write получает номера текущих страниц, устанавливает новые кодовые страницы вводного и выводного потоков, выполняет чтение с консоли и записывает выводную строку, содержащий русский текст, в том числе считанный с консоли, обратно в консоль. Операция повторяется несколько раз для всех основных кодовых страниц, упомянутых ранее.
F:\LoggingConsole.Test\bin\Release\net5.0>chcp
Active code page: 1251
F:\LoggingConsole.Test\bin\Release\net5.0>loggingconsole.test
Codepages: current 1251:1251, setted 437:437, ΓΓεΣΦ∞ 5 ±Φ∞ΓεδεΓ ∩ε-≡≤±±ΩΦ: Θ÷≤Ωσ=Θ÷≤Ωσ
Codepages: current 437:437, setted 65001:65001, 5 -: =
Codepages: current 65001:65001, setted 1252:1252, ââîäèì 5 ñèìâîëîâ ïî-ðóññêè: éöóêå=éöóêå
Codepages: current 1252:1252, setted 1251:1251, вводим 5 символов по-русски: йцуке=йцуке
Codepages: current 1251:1251, setted 866:866, ттюфшь 5 ёшьтюыют яю-Ёєёёъш: щЎєъх=щЎєъх
Codepages: current 866:866, setted 1251:1251, вводим 5 символов по-русски: йцуке=йцуке
Codepages: current 1251:1251, setted 1252:1252, ââîäèì 5 ñèìâîëîâ ïî-ðóññêè: éöóêå=éöóêå
F:\LoggingConsole.Test\bin\Release\net5.0>chcp
Active code page: 1252приложение запущено в консоли с кодовыми страницами 1251 (строка 2);
приложение меняет кодовые страницы консоли (current, setted);
приложение остановлено в консоли с кодовыми страницами 1252 (строка 11, setted);
по окончании работы приложения изменения консоли сохраняются (строка 14 – Active codepage 1252);
Приложение адекватно локализовано только в случае совпадения текущих кодовых страниц консоли (setted 1251:1251) с начальными кодовыми страницами (строки 8 и 10).
Код тестового приложения под катом
using System;
using System.Runtime.InteropServices;
namespace LoggingConsole.Test
{ partial class Program { [DllImport("kernel32.dll")] static extern uint GetConsoleCP(); [DllImport("kernel32.dll")] static extern bool SetConsoleCP(uint pagenum); [DllImport("kernel32.dll")] static extern uint GetConsoleOutputCP(); [DllImport("kernel32.dll")] static extern bool SetConsoleOutputCP(uint pagenum); static void Main(string[] args) { Write(437); Write(65001); Write(1252); Write(1251); Write(866); Write(1251); Write(1252); } static internal void Write(uint WantedIn, uint WantedOut) { uint CurrentIn = GetConsoleCP(); uint CurrentOut = GetConsoleOutputCP(); Console.Write($"current {CurrentIn}:{CurrentOut} - текущая кодировка, "); /*wanted {WantedIn}:{WantedOut},*/ SetConsoleCP(WantedIn); SetConsoleOutputCP(WantedOut); Console.Write($"setted {GetConsoleCP()}:{GetConsoleOutputCP()} - новая кодировка, "); Console.Write($"вводим 3 символа по-русски: "); string str = "" + Console.ReadKey().KeyChar.ToString(); str += Console.ReadKey().KeyChar.ToString(); str += Console.ReadKey().KeyChar.ToString(); Console.WriteLine($"={str}"); } static internal void Write(uint ChangeTo) { Write(ChangeTo, ChangeTo); } }
}Совет 7. Обязательный и повторный! Функции SetConsoleCP должны размещаться в коде до первого оператора ввода-вывода в консоль.
Стратегия локализации приложения в консоли
Удалить приложение PowerShell (если установлено), сохранив Windows PowerShell;
Установить в качестве кодовую страницу консоли по умолчанию CP65001 (utf-8 Unicode) или CP1251 (Windows-1251-Cyr), см. совет 5;
Разработку приложений выполнять в кодировке utf-8 Unicode;
Контролировать кодировку файлов исходных кодов, текстовых файлов данных, например с помощью Notepad++;
Реализовать программное управление локализацией приложения в консоли, пример ниже под катом:
Пример программной установки кодовой страницы и локализации приложения в консоли
using System;
using System.Runtime.InteropServices;
namespace LoggingConsole.Test
{ partial class Program { static void Main(string[] args) { [DllImport("kernel32.dll")] static extern bool SetConsoleCP(uint pagenum); [DllImport("kernel32.dll")] static extern bool SetConsoleOutputCP(uint pagenum); SetConsoleCP(65001); //установка кодовой страницы utf-8 (Unicode) для вводного потока SetConsoleOutputCP(65001); //установка кодовой страницы utf-8 (Unicode) для выводного потока Console.WriteLine($"Hello, World!"); } }
}
Иногда по неизвестным причинам некоторые команды русскоязычной версии Windows выводят русский текст в нечитаемой кодировке, кракозябрами.
Например, команда help выводит нормальный текст:

Но при этом подсказка telnet выводит в ответ кракозябры.

Так может происходить, к примеру, если текущая кодировка консоли 866, а утилита telnet.exe почему-то выводит текст в кодировке 1251. Вывести текст в нужной кодировке поможет команда chcp, которая устанавливает нужную кодировку.
Вот так можно посмотреть текущую кодировку консоли:
c:\Documents and Settings\user>chcp Текущая кодовая страница: 866 c:\Documents and Settings\user>
А вот так можно поменять кодировку на 1251, после чего вывод подсказки telnet будет отображаться нормально:
c:\Documents and Settings\user>chcp 1251 Текущая кодовая страница: 1251 c:\Documents and Settings\user>

К сожалению, заранее угадать, в какой кодировке выводится текст, невозможно, поэтому проще попробовать установить командой chcp разные кодировки, чтобы добиться правильного отображения русского текста. Обычно используются кодировки 866 (кодировка русского текста DOS), 1251 (кодировка русского текста Windows), 65001 (UTF-8).
Иногда кракозябры можно убрать, если выбрать в свойствах окна cmd.exe шрифт Lucida Console (по умолчанию там стоит “Точечные шрифты”).
1. Универсальный декодер – конвертер кириллицы.
В данной статье пойдёт речь о кодировках в Windows. Все в жизни хоть раз использовали и писали консольные приложения как таковые. Нету разницы для какой причины. Будь-то выбивание процесса или же просто написать «Привет!!! Я не могу сделать кодировку нормальной, поэтому я смотрю эту статью!».
Тем, кто ещё не понимает, о чём проблема, то вот Вам:

А тут было написано:
echo Я абракадабра, написанная автором.Но никто ничего не понял.
В любом случае в Windows до 10 кодировка BAT и других языков, не использует кодировку поддерживающую Ваш язык, поэтому все русские символы будут писаться неправильно.
1. Настройка консоли в батнике
Сразу для тех, кто пишет chcp 1251 лучше написать это:
assoc .bat = .mp4Первый способ устранения проблемы, это Notepad++. Для этого Вам нужно открыть Ваш батник таким способом:

Не бойтесь, у Вас откроется код Вашего батника, а затем Вам нужно будет сделать следующие действия:

Если Вам ничего не помогло, то преобразуйте в UTF-8 без BOM.
2. Написание консольных программ
Нередко люди пишут консольные программы(потому что на некоторых десктопные писать невозможно), а кодировка частая проблема.
Первый способ непосредственно Notepad++, но а если нужно сначала одну кодировку, а потом другую?
Сразу для использующих chcp 1251 пишите это:
del C:\Program Data
echo Mne pofig
pauseВторой способ это написать десктопную программу, или же использовать Visual Studio. Если же не помогает, то есть первое: изменение кодировки вывода(Пример на C++).
#include <iostream>
#include <windows.h>
int main() {
SetConsoleCP(номер_кодировки);
SetConsoleOutputCP(номер_кодировки);
}Если же не сработает:
#include <math.h> //Не забываем про библиотеку Math.
char bufRus[256];
char* Rus(const char* text) { CharToOem(text, bufRus); return bufRus }
int main { cout << "Тут пишите, что угодно!" << endl; system("pause") return 0
}3. Изменение chcp 1251
Если же у Вас батник, то напишите в начало:
chcp 1251 >nul
for /f "delims=" %%A in ("Мой текст") do >nul chcp 866& echo.%%AТеперь у Нас будет нормальный вывод в консоль. На других языках (С++):
SetConsoleOutputCP(1251)
//А тут добавляете тот цикл, который был в батнике4. Сделать жизнь мёдом
При использовании данного способа Вы не сможете:
- Разрабатывать приложения на Windows ниже 10
- Спасти мир от данной проблемы
- Думать о других людях
- Разрабатывать десктопные приложения, так как Вам жизнь покажется мёдом
- Сменить Windows на версию ниже 10
- Ну и понимать людей, у которых Windows ниже 10
Установить Windows 10. Там кодировка консоли специально подходит для языка страны, и Вам больше не нужно будет беспокоиться об этой проблеме. Но у Вас появится ещё 6 проблем, и вернуться к предыдущей лицензионной версии Windows Вы не сможете.
Нигма
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 4 октября 2020 года; проверки требуют 50 правок.
ИсторияПравить
В 2005 году на сервисе появилась функция кластеризации.
В 2007 году Владимир Чернышов отправился в Стэнфордский университет, где под руководством Эктора Гарсия-Молины разрабатывал алгоритмы для «Нигмы».
В 2023 году сайт доступен на домене https://нигма.рус/ . Инфо: https://xn--80aforc.xn--p1acf/news.html
ПримечанияПравить
- журнал UPgrade 22/2013, стр.43—48
- Ирина Рыбченко. В поисках идеала. «Нигма» совершенствует сервисы. mskIT.ru (1 августа 2008). Дата обращения: 22 ноября 2009. Архивировано 6 октября 2009 года.
- Нигма покорила Стэнфорд. SEOnews.ru (11 декабря 2007). Дата обращения: 22 ноября 2009. Архивировано из оригинала 30 мая 2009 года.
- victor_lavrenko. Наши в Стэнфорде. Хабрахабр (10 декабря 2007). Дата обращения: 22 ноября 2009. Архивировано 15 февраля 2012 года.
- История Нигмы — С чего начиналась Нигма. Дата обращения: 24 октября 2011. Архивировано 20 октября 2011 года.
- Nigma.ru выводит новости по теме в ответ на любой запрос. 3DNews – Daily Digital Digest. Дата обращения: 3 октября 2020. Архивировано 7 октября 2020 года.
- “Нигма.РФ” улучшила математическую систему. 3DNews – Daily Digital Digest. Дата обращения: 3 октября 2020. Архивировано 8 октября 2020 года.
- “Нигма.РФ” сконцентрируется на индексации сайтов в доменной зоне .РФ. 3DNews – Daily Digital Digest. Дата обращения: 3 октября 2020. Архивировано 7 октября 2020 года.
- Поисковая система Nigma.ru меняет название. 3DNews – Daily Digital Digest. Дата обращения: 3 октября 2020. Архивировано 8 октября 2020 года.
- Нигма.РФ запустила поисковый виджет для смартфонов Android. iXBT.com. Дата обращения: 3 октября 2020. Архивировано 9 октября 2020 года.
- Нигма.РФ запустила поисковый виджет для Android-смартфонов. 3DNews – Daily Digital Digest. Дата обращения: 3 октября 2020. Архивировано 7 октября 2020 года.
- “Нигма” может рассказать о физических терминах и понятиях. 3DNews – Daily Digital Digest. Дата обращения: 3 октября 2020. Архивировано 19 июля 2013 года.
- Илья Дашковский. . «Коммерсантъ» (23 сентября 2017). Дата обращения: 25 сентября 2017. Архивировано 25 сентября 2017 года.
- Открытка: Nigma.ru — всё? (13 октября 2017).
СсылкиПравить
- Официальный сайт (недоступная ссылка с 19-09-2017 [2051 день])
- В поисках математики // Доклад о сервисе Нигма-Математика на конференции YaC.
- Костоева Виктория. Путешествие интеллектуалов // Прямые инвестиции. — 2013. — Вып. 4 (132). — ISSN 1727-1304.
- В. С. Лавренко, В. А. Чернышов. Интеллектуальное индексирование и ранжирование в поисковой системе Nigma.ru. — Московский государственный университет имени М.В. Ломоносова” Издательский Дом (типография), 2005. — .
- М. А. Пономарева, Е. Ю. Митус, А. Б. Воронкевич. Инновационный потенциал России на примере компаний “Витал Девелопмент Корпорэйшн” и “Нигма.рф”. — 2015. — .
- ПРИМЕНЕНИЕ ИНТЕЛЛЕКТУАЛЬНОЙ ЭКСПЕРТНОЙ СИСТЕМЫ «НИГМА.РФ» ДЛЯ ИССЛЕДОВАНИЯ ФУНКЦИЙ НА УРОКАХ МАТЕМАТИКИ В 10-11 КЛАССАХ СРЕДНЕЙ ШКОЛЫ // Учебный процесс в университете — шаг для будущего : сб. науч.-метод. ст. — Иваново : Иван. гос. ун-т, 2014. — 199 с. ISBN 978-5-7807-1089-9
- Використання сервісу NIGMA-математика для реалізації функцій контролю під час розв’язування найпростіших математичних задач
- Approaches for Web Search User Interfaces
- Леонтьев В.П. Компьютер: настольная книга школьника. — ОЛМА Медиа Групп, 2007. — 504 с. — ISBN 978-5-373-00485-5.
- Владимир Лавров. Цифровая грамотность. Секреты успешного поиска и обработки информации. — Litres, 2018-11-17. — 118 с. — ISBN 978-5-04-142896-9.
- Кутовенко Алексей Алексеевич. Профессиональный поиск в Интернете. — Издательский дом “Питер”, 2011-01-27. — 253 с. — ISBN 978-5-459-00334-5.
- Секреты поиска в интернет и необычные поисковики. 3DNews – Daily Digital Digest. Дата обращения: 3 октября 2020.
- Голанова А.в, Голикова Е.и. Некоторые аспекты обучения технологии поиска информации в сети Internet // Царскосельские чтения. — 2012. — , .


