Частая проблема, с которой сталкиваются начинающие пользователи после установки Windows, когда в приложениях вместо русских букв показываются знаки вопросов или странные иероглифы(«кракозябры»). Как правило проблема с отображением кириллицы в программах возникает на компьютерах, на которых была установлена англоязычная версия Windows.
Ниже показан пример окна такого приложения на свежеустановленной Windows 11 24H2, когда в программе вместо русских символов показываются кракозябры.
Если проблема с отображением русских букв встречается только в некоторых программах, скорее всего это можно исправить, изменив в региональные параметрах Windows язык для программ, не поддерживающих Юникод.
- Перейдите в раздел настроек системы
Win+I
-> Settings -> Time and Languages -> Language and Region -> Administrative language settings - Откроется классическое окно настройки региональных параметров Windows. Перейдите на вкладку Administrative (для быстрого вызова этого диалога можно выполнить команду:
control intl.cpl,,1
- Обратите внимание, что в нашем случае в качестве языка по-умолчанию для программ, не поддерживающих Unicode выбран English.
- Чтобы изменить системную кодовую страницу, нажмите кнопку Chage system locale и в выпадающем списке выберите Russian (Russia)
- Сохраните изменения и перезагрузите Windows.
- Проверьте, что теперь в интерфейсе вашей программы теперь корректно отображаются русские символы.
Также можно проверить текущую кодовую страницы для не-Unicode программ с помощью PowerShell:
Get-WinSystemLocale
Команда вернула, что в качестве языка по-умолчанию используется английский (LCID 1033, en-us)
Чтобы включить поддержку русской кириллицы для не-Unicode программ, выполните:
Set-WinSystemLocale -SystemLocale ru-RU
После перезагрузки проверьте, что кодовая страницы системной локали изменилась на 1049 ru-RU.
Если вы русифицировали Windows путем установки русского языкового пакета, нужно дополнительно проверить, задана ли в реестре корректная кодовая страница для системы.
- Откройте
regedit.exe
и перейдите в веткуHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
- Проверьте значение параметра реестра ACP. В моем случае оно равно 1252 (при это значении вместо русских символов отображаются иероглифы). Измените значение на 1251 и перезагрузите компьютер.
- Это должно решить проблему отображения кирилицы в сторонних программах.