Windows 11 проблемы с кодировкой

Обновлено: 03.07.2024

Квалификацию надо иногда повышать, и вообще учиться для мозгов полезно. А потому пошел я недавно на курсы - поизучать Python и всякие его фреймворки. На днях вот до Django добрался. И тут мы в ходе обучения коллективно выловили не то чтобы баг, но дивный эффект на стыке Python 3, Sqlite 3, JSON и Win 10. Причем эффект был настолько дивен, что гугль нам не помог - пришлось собираться всей заинтересованной группой вместе с преподавателем и коллективным разумом его решать.

А дело вот в чем: изучали мы базу данных (а у Django предустановлена Sqlite 3) и, чтоб каждый раз заново руками данные не вбивать, прикрутили загрузку скриптом из json-файлов. А в файлы данные из базы штатно дампили питоновскими же методами:

Внезапно те, кто работал под виндой (за все версии не поручусь, у нас подобрались только обитатели Win 10), обнаружили, что дамп у них производится в кодировке windows-1251. Более того, джейсоны в этой кодировке отлично скармливаются базе. Но стоило только переформатировать их в штатную по документам для Sqlite 3, Python 3 и особенно для JSON кодировку UTF-8, как в лучшем случае кириллица в базе превращалась в тыкву, а в худшем ломался вообще весь процесс загрузки данных.

Ничего подобного найти не удалось ни в документации, ни во всем остальном гугле, считая и англоязычный. Что самое загадочное, ручная загрузка тех же самых данных через консоль или админку проекта работала как часы, хотя уж там-то кодировка была точно UTF-8. Более того, принудительное прописывание кодировки базе никакого эффекта не дало.

Мы предположили, что причиной эффекта было взаимодействие джейсона с операционной системой - каким-то образом при записи и чтении именно джейсонов система навязывала свою родную кодировку вместо нормальной. И действительно, когда при открытии файла принудительно устанавливалась кодировка UTF-8:

в базу попадали не кракозябры, а нормальные русские буквы. Но проблему с созданием дампа таким способом не решишь, а переделывать кодировку потом руками тоже как-то не по-нашему.

И тогда мы решили поискать способ укротить винду.

И такой способ нашелся. Вот он:

открываем панель управления, но не новую красивую, а старую добрую:

открываем (по стрелке) окошко региона:

по стрелкам переключаем вкладку "Дополнительно" и открываем окошко "Изменить язык системы":

и в нем ставим галку по стрелке в чекбоксе "Бета-версия: Использовать Юникод (UTF-8) для поддержки языка во всем мире.

Система потребует перезагрузки, после чего проблема будет решена.

Не могу сказать, чтобы этот мелкий странный баг был так уж важен или интересен (питоновские проекты обычно живут под линуксами, где такого не бывает), но мозги он нам поломал изрядно - вследствие чего я и решил написать эту заметку. Мало ли кто еще из новичков как раз во время учебы попадется.

Прикрепленное изображение

21H2

Актуальная версия: Windows 11 10.0.22000.318 Выпуск функций 21H2

    Проверить совместимость можно с помощью утилит:
      (Windows PC Health Check)

    Прикрепленное изображение

    Прикрепленное изображение

    Прикрепленное изображение

    Прикрепленное изображение

    Прикрепленное изображение

    Прикрепленное изображение

    На ASUS X550C, кстати, не ставится.
    Intel Core i3-3217U + GeForce GT 720M (оперативы 12 Гб + SSD).

    Выбивает ошибку "This PC doesn't meet the minimum requirements to install this version of Windows".

    При этом последняя актуальная Win 10 летает. Интересно, что поменяли в требованиях.

    Kokolio, да, я так же не могу накатить на Ivy bridge.
    "the pc must support tpm 2.0"

    Утром буду пробовать переносить уже установленую на виртуалке на реальный диск.
    Да и в любом случае это все пропатчат позже

    Выбивает ошибку "This PC doesn't meet the minimum requirements to install this version of Windows".

    У многих такая ошибка. И указывает причину, не включен Secure Boot и TPM 2.0

    Советуют в биосе включить какие-то секьюрити или Intel Platform Trust.

    Другие советуют сделать установщик от win10, а потом там заменить от 11 файл install.wim

    1 Способ. Ошибка при попытке обновится фиксится заменой appraiserres.dll из папки sources образа Windows 10 в папку sources образа Windows 11. Нужный файл прикреплён к посту, просто скачать и заменить в образе Windows 11.

    4 способ. На экране установки нажимаем Shift +F10 и вводим в cmd:

    REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassTPMCheck /t REG_DWORD /d 1
    REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassSecureBootCheck /t REG_DWORD /d 1 1. Я НЕ НЕСУ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ПРОДЕЛАННЫЕ ВАМИ ДЕЙСТВИЯ, ТО ЧТО РАБОТАЕТ У МЕНЯ ИЛИ ДРУГИХ ЛЮДЕЙ, НЕ ФАКТ, ЧТО ЗАРАБОТАЕТ У ВАС, ВСЕГДА ХРАНИТЕ БЕКАПЫ ПЕРЕД ДЕЙСТВИЯМИ С СИСТЕМОЙ! Спасибо за 1 способ ув. RostislavArts
    Спасибо за 3 способ ув. al-lion
    Спасибо за 4 способ ув. Lux Darkus RostislavArts, Semen8991, идёт установка, пока все нормально, чуть позже отпишусь Stimayk, я тоже прямо щас ставлю. Тоже отпишусь
    По центру оно норм, но тогда систрей выглядит там вообще лишним.

    как там виндовс на ядре линукс?
    форсить можно ? intel core i3 7gen

    Прикрепленное изображение

    О, вернули возможность установить без учетки майков не вырубая сетевое соединение. hqqddy, и так можно было. Просто выбираешь нижний пункт и там offline account Я в системе. Secure Boot выключен, никаких дополнительных настроек не делал djneel, русская клавиатура есть, системный язык только английский Образ Windows 11 с отключением ограничений обновления + Оригинальная версия.

    Версия: Windows 11 Beta
    Build: 22H2 Build 22458.1000 + FIX / 21H2 Build 22000.194 + FIX / 22000 OFFICIAL

    Доступные редакции:
    Windows 11 Домашняя
    Windows 11 Pro

    Описание Dev сборок: Сборки Windows 11, предназначенные для участников программы Windows Insider на канале обновления Dev. Сборки сделаны с помощью оригинальных файлов UUP на сервисе UUP Dump. Были интегрированы обновления по 16 сентября 2021 года.
    В сборках нет никаких изменений и ничего не вырезано!

    Описание Beta сборок: Сборки Windows 11, предназначенные для участников программы Windows Insider на канале обновления Beta. Сборки сделаны с помощью оригинальных файлов UUP на сервисе UUP Dump. Были интегрированы обновления по 16 сентября 2021 года.
    В сборках нет никаких изменений и ничего не вырезано!

    Описание Official сборок: 19 августа 2021 года Microsoft сочла Windows 11 версии 22000.132 стабильной и официально сделала ее доступной для загрузки в качестве первых ISO-образов Windows 11.
    Образы взяты с официального сайта Microsoft! Во время установки система обновится до актуальной 22000.194 Beta версии.
    В раздачу добавлены приветственные обои для участников Windows Insider Program.

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

    Частенько это имеет место быть, когда вы работаете с русскоязычными символами в операционке с английской локализацией, поскольку в ней для русскоязычной программы по умолчанию отсутствуют средства обработки кириллицы, да и какого-либо другого языка с нелатинскими символами, будь это греческая, китайская либо японская языковая конструкция. В этой статье я расскажу, как убрать кракозябры в Windows 10, и вместо них работать с корректно отображающимися русскими символами.

    Обычно кракозябры отображаются не везде. К примеру, кириллические символы в названиях программ на рабочем столе написаны абсолютно правильно, без ошибок, а вот если запустить на инсталляцию один из дистрибутивов с поддержкой русского языка, то тут же все начинает идти вкривь и вкось, текст становится нечитаемым, и вы буквально не знаете, что делать.


    Ниже я расскажу, как избавиться от этой проблемы, решив ее в свою пользу раз и навсегда.

    Стоит понимать, что вся проблема в том, что в вашей операционной системе изначально отсутствует поддержка кириллицы. Скорее всего, вы установили дистрибутив на английском языке, и поверх него установили расширенный пакет для русификации системы, но это не решает всех проблем. Текст все равно является нечитаемым, а описанная проблема остается и никуда не исчезает.

    Первое, что может прийти в голову в данной ситуации — это переставить ОС с нуля на русскую версию, где изначально уже присутствует поддержка кириллических символов. Но предположим, что этот вариант для вас не годится, поскольку вы хотите работать именно в англоязычной среде, где все символы кириллицы отображаются корректно и без багов. Именно о такой ситуации и пойдет речь в моей инструкции, которая в этом случае и придется вам как никогда кстати.

    Программы для очистки компьютера от мусора

    Суть проблемы

    Как правило, мы можем наблюдать эти кракозябры не в каждой программе. Например, символы, изображённые кириллицей в названии программ, отображены корректно. Но если запустить программу установки дистрибутивов, поддерживающих русский язык, мы получаем неведомую нам «китайскую грамоту».

    И, пожалуй, основная проблема кроется в том, что в имеющейся ОС по дефолту отсутствует поддержка кириллических символов. На практике это может значить, что вы инсталлировали английский дистрибутив с установленным поверх него расширенным пакетом русификации. Однако последний не смог решить проблему корректно.

    Первое, что пытаются делать пользователи в такой ситуации – переустановка операционки с чистого листа. Однако не все согласятся на такое, ведь кто-то, возможно, намеренно хочет работать с англоязычной средой. И в этой среде кириллические символы по идее могут и должны отображаться корректно.


    Виды кодировок текста

    А их, в общем-то, хватает.

    Одной из самых “древних” считается американская кодировочная таблица (ASCII, читается как “аски”), принятая национальным институтом стандартов. Для кодировки она использовала 7 битов, в первых 128 значениях размещался английский алфавит (в нижнем и верхнем регистрах), а также знаки, цифры и символы. Она больше подходила для англоязычных пользователей и не была универсальной.

    Отечественный вариант кодировки, для которого стали использовать вторую часть кодовой таблицы – символы с 129 по 256. Заточена под русскоязычную аудиторию.

    • Кодировки семейства MS Windows: Windows 1250-1258.

    Универсальный стандарт кодирования символов, позволяющий описать знаки практически всех письменных языков. Обозначение “U+xxxx” (хххх – 16-ричные цифры). Самые распространенные семейства кодировок UTF (Unicode Transformation Format): UTF-8, 16, 32.

    Разумеется, я привел не все виды кодировок, а только наиболее ходовые. Если же Вы хотите для общего развития знать их все, то полный список можно отыскать в самом браузере. Для этого достаточно пройти в нем на вкладку “Вид-Кодировка-Выбрать список” и ознакомиться со всевозможными их вариантами (см. изображение).

    вид кодировка

    Думаю возник резонный вопрос: “Какого лешего столько кодировок?”. Их изобилие и причины возникновения можно сравнить с таким явлением, как кроссбраузерность/кроссплатформенность. Это когда один и тот же сайт сайт отображается по-разному в различных интернет-обозревателях и на различных гаджет-устройствах. Кстати у сайта «Заметки Сис.Админа» с этим, как Вы заметили всё в порядке :).

    Ну вот, собственно, пока вся «базово необходимая» теория, которая позволит Вам “не плавать” в кодировочных вопросах, теперь переходим к практической части статьи.

    Используем системные настройки для решения проблемы


    В открывшемся новом окне находим раздел Часы, язык, регион.

    Панель управления - Часы, язык, регион

    В новом разделе выбираем категорию региональных стандартов.

    Здесь мы сможем настроить вариант даты и времени, а также числовой разделитель, количество дробных значений, формат отрицательных чисел, систему единиц измерения и пр.

    Также здесь нам предлагается изменить формат денежных единиц и обозначение таковых. Здесь же мы можем настроить локальные параметры для разных регионов, включая отображаемые в системе текстовые символы. Именно эти опции нас и интересуют. Для их выбора переходим ко вкладке «Дополнительно» в верхней части окна.

    Переходим в раздел выбора языка, не поддерживающего Юникод, и далее выбираем опцию изменение языка системы.

    Дополнительные региональные параметры

    В списке выбираем нужный вариант (в нашем случае «Русский (Россия)» и нажимаем «ОК»)

    Выбор языка в дополнительеных языковых настройках

    В появившемся окне уведомлений выбираем «Перезагрузить сейчас».

    ПК уйдёт в перезагрузку, после чего проблема с кракозябрами должна исчезнуть. Однако не всегда этот способ срабатывает. Если он не помог решить проблему, рассмотрим ещё один вариант, в котором нам придётся поработать с реестром.











    Notepad +++

    Самый простой способ открыть документ Блокнот, где вместо букв квадратики – применить сторонний софт. Популярен Notepad+++. Это тот же Блокнот, но обладающий дополнительными функциями. Имеет следующие преимущества:

    1. Распространяется бесплатно;
    2. Как и Ворд, имеет кнопку отмены последнего действия;
    3. Поддерживает одновременную работу с несколькими файлами;
    4. Позволяет изменить или выбрать шифрование.
    5. Автоматически дописывает тексты;
    6. Поддерживает плагины.

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

    Чтобы иероглифы вместо русских букв преобразовались, откройте документ Блокнота в данной программе. В ленте меню сверху найдите вкладку Кодировки. Нажмите на нее. Откроется меню с перечислением всех их типов. Не всегда очевидно, какой именно тип шифрования применялся, потому, чтобы выбрать правильный для перекодировки, нужно попробовать несколько. Текст пред этим выделите.

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

    Изменение кодировок

    Редактируем страницу кода вручную

    1. Win+R запускаем системную службу «Выполнить». Прописываем в единственной строке regedit и жмём Ок.


    1. В окне реестра нам нужно перейти по следующему пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls
    2. Здесь выбираем папку CodePage и в правой части окна идём вниз, чтобы найти пункт ACP.
    3. Дважды кликаем ЛКМ по ACP, и перед нами открывается окно изменений строковых настроек. Здесь выставляем значение 1251. Если такое значение уже установлено для этого пункта, тогда нужно сделать по-другому.

    Редактор реестра - CodePage

    Находясь в том же разделе CodePage, в правой части окна ищем пункт 1252. Жмём по нему дважды ЛКМ и в появившемся окне меняем текущее значение 1252 на 1251.

    После произведённых манипуляций отправляем компьютер в перезагрузку, чтобы применённые изменения вступили в силу.
    Post Views: 50




    Использование реестра, если метод выше не помог

    Создадим в текстовом редакторе обычный файлик, но дадим ему расширение .reg, дабы впоследствии можно было применить все настройки, хранящиеся в нем. Итак, какое же содержимое reg-файла должно быть?

    Что такое FPS в играх

    Наберем в него ручками или скопируем через буфер обмена следующие значения:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontMapper] «ARIAL»=dword:00000000

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes] «Arial,0″=»Arial,204» «Comic Sans MS,0″=»Comic Sans MS,204» «Courier,0″=»Courier New,204» «Courier,204″=»Courier New,204» «MS Sans Serif,0″=»MS Sans Serif,204» «Tahoma,0″=»Tahoma,204» «Times New Roman,0″=»Times New Roman,204» «Verdana,0″=»Verdana,204»

    Когда все указанные строки окажутся в reg-файле, запустим его, согласимся с внесением изменений в систему, после чего выполним перезагрузку ПК и смотрим на результаты. Кракозябры должны исчезнуть.

    Важное замечание: перед внесением изменений в реестр лучше создать резервную копию (другими словами, бэкап) реестра, дабы вносимые впоследствии изменения не повлекли за собой крах операционки, и ее не пришлось переустанавливать с нуля. Тем не менее, если вы уверены, что эти действия безопасны для вашей ОС, можете этот пункт упустить.

    Мета тег charset

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

    Всё, что нам требуется, это вставить следующий код между тегами

    сайта. Прежде всего проверьте, возможно этот метатег у вас уже присутствует. Если да, то посмотрите какое у него стоит значение параметра charset.

    В темах WordPress обычно этот тег уже имеется по умолчанию и выглядит следующим образом:

    Исправление отображения кириллицы с помощью настроек языка и региональных стандартов Windows 10


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

    Исправление отображения кириллицы с помощью настроек языка и региональных стандартов Windows 10

    Кракозябры в программах и документах Windows 10

    1. Откройте панель управления (для этого можно начать набирать «Панель управления» или «Control Panel» в поиске на панели задач.
    2. Убедитесь, что в поле «Просмотр» (View by) установлено «Значки» (Icons) и выберите пункт «Региональные стандарты» (Region).
    3. На вкладке «Дополнительно» (Administrative) в разделе «Язык программ, не поддерживающих Юникод» (Language for non-Unicode programs) нажмите по кнопке «Изменить язык системы» (Change system locale).
    4. Выберите русский язык, нажмите «Ок» и подтвердите перезагрузку компьютера.

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

    Отображение кириллицы исправлено в Windows 10

    С помощью редактора реестра

    Первый способ — использовать редактор реестра. На мой взгляд, это самый щадящий для системы метод, тем не менее, рекомендую создать точку восстановления прежде чем начинать. Совет про точки восстановления относится и ко всем последующим способам в этом руководстве.

    1. Нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter, откроется редактор реестра.
    2. Перейдите к разделу реестраи в правой части пролистайте значения этого раздела до конца.
    3. Дважды нажмите по параметру ACP, установите значение 1251 (кодовая страница для кириллицы), нажмите Ок и закройте редактор реестра.
    4. Перезагрузите компьютер (именно перезагрузка, а не завершение работы и включение, в Windows 10 это может иметь значение).

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

    Кодовые страницы в реестре Windows 10

    Путем подмена файла кодовой страницы на c_1251.nls

    Второй, не рекомендуемый мной способ, но иногда выбираемый теми, кто считает, что правка реестра — это слишком сложно или опасно: подмена файла кодовой страницы в C:\ Windows\ System32 (предполагается, что у вас установлена западно-европейская кодовая страница — 1252, обычно это так. Посмотреть текущую кодовую страницу можно в параметре ACP в реестре, как было описано в предыдущем способе).

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

    А вдруг и это будет интересно:

    23.02.2020 в 12:33

    Дмитрий, спасибо за полезную статью!
    Объясните, пожалуйста, зачем вы вставляете пробелы в путях реестра? Это же жутко неудобно, когда хочешь скопировать путь и вставить в окно редактора реестра. К примеру, в статье указана ветка реестра HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\Control\ Nls\ CodePage, чтобы вставить и перейти по этому пути, надо предварительно удалить 3 пробела, иначе редактор реестра не опознает его.

    23.02.2020 в 12:50

    23.02.2020 в 12:56

    Спасибо и с праздником вас!

    23.02.2020 в 12:55

    После изменения языка системы с английской US на русскую крякозябры в текстовых документах исчезли, но проблема частично сохранилась. До изменения языка системы интерфейс и настройки программы USDownloader были полностью в крякозябрах, после изменения стало получше, но проблема полностью еще не решена.
    Подскажите, что еще можно сделать для решения моей проблемы?

    24.02.2020 в 09:59

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

    Читайте также: