Расширенные версии Аски — кодировки CP866 и KOI8-R с псевдографикой.
Одна из возможных проблем, с которыми можно столкнуться после установки Windows 10 - кракозябры вместо русских букв в интерфейсе программ, а также в документах. Чаще неправильное отображение кириллицы встречается в изначально англоязычных и не совсем лицензионных версиях системы, но бывают и исключения.
В этой инструкции - о том, как исправить «кракозябры» (или иероглифы), а точнее - отображение кириллицы в Windows 10 несколькими способами. Возможно, также будет полезным: (для систем на английском и других языках).
Кодовые страницы представляют собой таблицы, в которых определенным байтам сопоставляются определенные символы, а отображение кириллицы в виде иероглифов в Windows 10 связано обычно с тем, что по умолчанию задана не та кодовая страница и это можно исправить несколькими способами, которые могут быть полезны, когда требуется не изменять язык системы в параметрах.
С помощью редактора реестра
Первый способ - использовать редактор реестра. На мой взгляд, это самый щадящий для системы метод, тем не менее, рекомендую прежде чем начинать. Совет про точки восстановления относится и ко всем последующим способам в этом руководстве.
Обычно, это исправляет проблему с отображением русских букв. Вариация способа с помощью редактора реестра (но менее предпочтительная) - посмотреть на текущее значение параметра ACP (обычно - 1252 для изначально англоязычных систем), затем в том же разделе реестра найти параметр с именем 1252 и изменить его значение с c_1252.nls на c_1251.nls .
Путем подмена файла кодовой страницы на c_1251.nls
Второй, не рекомендуемый мной способ, но иногда выбираемый теми, кто считает, что правка реестра - это слишком сложно или опасно: подмена файла кодовой страницы в C:\ Windows\ System32 (предполагается, что у вас установлена западно-европейская кодовая страница - 1252, обычно это так. Посмотреть текущую кодовую страницу можно в параметре ACP в реестре, как было описано в предыдущем способе).
После перезагрузки Windows 10 кириллица должна будет отображаться не в виде иероглифов, а как обычные русские буквы.
В начале 90-х, когда произошел развал СССР и границы России были открыты, к нам стали поступать программные продукты западного производства. Естественно, все они были англоязычными. В это же время начинает развиваться Интернет. Остро встала проблема русификации ресурсов и программ. Тогда и была придумана русская кодировка Windows 1251. Она позволяет корректно отображать буквы славянских алфавитов:
- русского;
- украинского;
- белорусского;
- сербского;
- болгарского;
- македонского.
Разработка велась русским представительством Microsoft совместно с компаниями «Диалог» и «Параграф». За основу были взяты самописные разработки, которые в 1990-91гг имели хождение среди немногочисленных идеологов ИТ в России.
На сегодняшний день разработан более универсальный способ кодировать символы - UTF-8 (Юникод). В нем представлено почти 90% всех программных и веб-ресурсов. Windows 1251 применяется в 1,6% случаев. (Информация по исследованиям Web Technology Surveys)
Кодировка сайта utf 8 или Windows 1251?
Чтобы ответить на этот вопрос, необходимо немного понять, что такое кодировка и чем они отличаются. Текстовая информация, как впрочем, и любая другая, в компьютере хранится в закодированном виде. Нам легче представить ее как числа. Каждый символ может занимать один или более байт. Windows 1251 является однобайтной кодировкой, а UTF-8 восьмибайтной. Это значит, что в Windows 1251 можно закодировать всего 256 символов.
Так как все сводится к двоичной системе исчисления, а байт – это 8 бит (0 и 1), то и максимальное число сочетаний составляет 28 = 256. Юникод позволяет представлять куда большее число символов, да и на каждый может быть выделен больший размер.
Отсюда и следуют преимущества Юникода:
- В шапке сайта следует указать кодировку, которая используется. Иначе вместо символов отобразятся «кракозяблы». А Юникод является стандартным для всех браузеров – они ловят его «на лету» как установленный по умолчанию.
- Символы сайта останутся одними и теми же, независимо от того, в какой стране загружается ресурс. Это зависит не от географического расположения серверов, а от языка программного обеспечения рабочих станций клиента. Житель Португалии, очевидно, использует клавиатуру и все ПО, включая операционную систему, на родном языке. В его компьютере, скорее всего вообще отсутствует Windows 1251. А если это так, то и сайты на русском языке корректно открываться не будут. Юникод, в свою очередь, «зашит» в любую ОС на любом языке.
- UTF-8 позволяет закодировать большее количество символов. На данный момент используется 6 байт из 8-ми, а русские символы кодируются двумя байтами.
Именно поэтому предпочтительней использовать универсальную кодировку, а не узкоспециализированную, которая применяется только в славянских странах.
Таблица кодировки Windows 1251
Для программистов и разработчиков сайтов бывает необходимо знать номера символов. Для этого используются специальные таблицы кодировки. Ниже представлена таблица для Windows 1251.
Что делать, если слетела кодировка командной строки?
Иногда Вы можете столкнуться с ситуацией, когда в командной строке вместо русских отображаются непонятные символы. Это означает, что возникла проблема кодировки командной строки Windows 7. Почему 7-ка? Потому что, начиная с 8-й версии, используется UTF-8, а в семерке еще Windows 1251.
Единовременно помочь решить проблему может команда chcp 866. Текущий сеанс будет работать корректно. А вот чтобы исправить ошибку кардинально, понадобится реестр.
Отличного Вам дня!
Как известно, Windows 10
поддерживает установку языковых пакетов, с помощью которых можно изменять локализацию интерфейса операционной системы. С этим очень близко связано понятие системного языка. Системный язык это не тот, который был добавлен с помощью языкового пакета, а тот, который был выбран при установке самой системы. Если вы работаете на корпоративном компьютере, язык которого менялся посредством установки MUI
-пакетов, возможно, вы захотите узнать, какой язык использовался в системе изначально.
Способов определить системный язык несколько.
Рассмотрим их по порядку.
С помощью консольной утилиты DISM
Запустите от имени администратора командную строку и выполните в ней команду dism /online /get-intl . Через несколько секунд получите результат.
Обратите внимание на параметр «Язык пользовательского интерфейса по умолчанию» . Его значение и будет системным языком.
С помощью консоли PowerShell
Запустите консоль от имени администратора и выполните команду ::InstalleduICulture .
Значение параметра DisplayName будет указывать на системный язык. Обратите также внимание на параметр LCID , он содержит код языка, прописанный в реестре Windows (смотрите ниже).
С помощью редактора реестра и таблицы декодирования
Командой regedit откройте редактор реестра и разверните ветку
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language
В правой колонке окна редактора найдите строковый параметр (он в самом низу) и посмотрите его значение.
Оно представлено четырёхзначным кодом, для расшифровки которого следует воспользоваться таблицей декодирования на сайте MSDN . В нашем примере код 0419 соответствует русскому языку.
Иногда, вследствие тех или иных причин, у пользователей ОС Windows случается что-то такое, что приводит к сбою кодировок. Какая-та новоустановленная программа, вирус, манипуляции в реестре, мало-ли что… Вот слетели кодировки и все-тут!
На днях у меня тоже случилась подобная вещь. В некоторых русифицированных программах часть надписей интерфейса стала выглядеть так, как будто вместо букв туда вставили отпечатки лап птиц:
Скажу честно — я потратил на поиск решения проблемы почти два дня. На всех форумах и сервисах «вопросов и ответов», во всех мануалах и инструкциях, все как один повторяли тот-же рецепт решения, который возможно кому-то и помог. Но не мне. И только когда мои мозги уже начали закипать и всякая надежда на решения проблемы покинула меня, все стало на свои места.
Результаты же поисков я решил оформить в «Универсальное руководство по решению всех проблем с кодировкой в операционных системах Windows XP и Windows Vista/7 ». Хотя возможно оно не так уже и универсально… ;)
Решение проблем с кодировкой в Windows XP:
Пункт 1. Сначала нужно убедится, что для программ не поддерживающих Юникод установлен русский язык.
Открываем «Панель управления » и дважды кликаем по иконке «» . Переходим во вкладку «Дополнительно » «».
После этого найдите в списке, который размещен на этой-же вкладке пункт 20880 и поставте возле него галочку:
Пункт 2. Возможно, что проблемы с кодировкой вызваны нарушением системных настроек шрифтов.
Для восстановления настроек шрифтов скачайте этот архив
Пункт 3. Следующий этап — изменение ключей реестра которые отвечают за кодировки. Делать эти изменения желательно только в крайнем случае и только если все предыдущие пункты ни к чему не привели.
этот архив
Решение проблем с кодировкой в Windows Vista/7:
1. Как и в случае с Windows XP сначала убедитесь что для программ не поддерживающих Юникод установлен русский язык.
Открываем «Панель управления » и дважды кликаем по иконке «Язык и региональные стандарты » . Переходим во вкладку «Дополнительно » и устанавливаем русский язык в качестве «Языка программ, не поддерживающих Юникод »:
Сохраните изменения и перезагрузите компьютер. Если проблема не исчезла переходим к пункту 2.
2. Для восстановления настроек шрифтов скачайте этот архив и запустите файл который находится в нем игнорируя все предупреждения системы:
Перезапустите систему. Если проблема не исчезла переходим к пункту 3.
3. Следующий этап — изменение ключей реестра которые отвечают за кодировки. Делать эти изменения желательно только в крайнем случае и только если все предыдущие пункты ни к чему не привели.
Для выполнения этих изменений скачайте этот архив и запустите файл находящийся в нем. Как и в предыдущем пункте появятся предупреждения системы.
После этих изменений также нужно будет перезапустить систему.
4. Если все вышеуказанное не помогло нужно поменять имена следующих файлов кодовых страниц в папке C:\Windows\System32 :
Файл «c_1252.nls
» на «c_1252.nls.bak
»
Файл «c_1253.nls
» на «c_1253.nls.bak
»
Файл «c_1254.nls
» на «c_1254.nls.bak
»
Файл «c_1255.nls
» на «c_1255.nls.bak
»
Поскольку эти файлы защищены от изменения для выполнения этой операции желательно воспользоваться замечательной программой Скачать программу можно с
Кракозябры
- что за слово такое интересное? Этим словом обычно русские пользователи называют неправильное/неверное отображение (кодировку) символов в программах или самой Операционной Системы.
Почему такое случается? Однозначного ответа Вы не найдёте. Это может быть в следствии проделок наших "любимых" вирусов, может из-за сбоя работы ОС Windows (например пропало электричество и выключился компьютер), может программа создала конфликт с другой или ОС и всё "полетело". В общем причин может быть много, а самая интересная - это "Оно само вот так взяло и сломалось".
Читаем статью и узнаём как исправить проблему с кодировкой в программах и ОС Windows, раз уж она случилась.
Кто до сих пор не понял о чём я имею ввиду, вот вам несколько :
Кстати, я тоже попал однажды в эту ситуацию и до сих пор на Рабочем столе лежит файл, который помог мне справится с ней. Поэтому и решил написать данную статью.
За отображение кодировки (шрифта) в Windows отвечает несколько "вещей" - это язык, реестр и файлы самой ОС. Теперь будем их проверять по отдельности и по пунктам.
Как убрать и исправить кракозябры вместо русского (русских букв) в программе или Windows.
1. Проверяем установленный язык для программ, не поддерживающих Юникод. Может он у Вас сбился.
Итак, переходим по пути: Панель управления - Язык и региональные стандарты - вкладка Дополнительно
Там смотрим чтобы язык был Русский.
В Windows XP помимо этого внизу есть список "Кодовые страницы таблиц преобразования" и в нём есть строчка с цифрой 20880 . Нужно чтобы там тоже был Русский
6.
Последний пункт, в котором я даю Вам файл, который помог мне всё исправить когда-то и именно поэтому я его оставил на память. Вот архив:
Внутри два файла: кракозбрoff.cmd
и кракозбрoff.reg
Принцип у них одинаковый - исправить всеми способами иероглифы, квадратики, вопросы или восклицательные знаки в програмах и ОС Windows (в простонародье кракозябры ). Я пользовался первым и мне помогло.
Ну и напоследок пара советов:
1) Если работаете с реестром, то не забывайте делать бэкап (резервную копию) на тот случай, если что-то пойдёт не так.
2) Желательно после каждого пункта проверять 1ый пункт.
На этом всё. Теперь Вы знаете как исправить убрать/исправить Кракозябры (квадратики, иероглифы, восклицательные и вопросительные знаки) в программе или Windows.