Вопросительные знаки вместо русских букв windows 7

Обновлено: 04.07.2024

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

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

Внимание! Мы не несем ответственности за ваши действия. Обратитесь к профессионалам за помощью в сервисный центр, подобный нашему.

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

Самый простой и самый рабочий способ убрать иероглифы и вернуть русские буквы в Windows 10 - исправить некоторые неверные настройки в системных параметрах.

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



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


Изменение кодовых страниц для исправления иероглифов Windows 10

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

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

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


Часто обеспечивает исправление проблем с неправильным отображением букв на русском языке. Разновидность метода с помощью редактора реестра (менее предпочтительная) заключается в том, чтобы узнать текущее значение АСР параметра (часто — 1252 для изначально установленной англоязычной системы). Далее в этом разделе нужно найти значение 1252 и заменить его c_1252.nls на такой c_1251.nls.

Изменение в файле кодовой страницы C_1251.NLS

Этот способ подходит для тех пользователей, которые считают вариант с редактированием реестра достаточно опасным или сложным. Здесь нужно реализовать подменю файла кодовой страницы по пути C:\Windows\System32. В данном случае предполагается, что используется кодовая страница западноевропейской версии - 1252. Узнать, какая актуальная кодовая страница может быть с помощью параметра ACP в реестре, аналогично предыдущему способу.

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

Самая вероятная причина появления проблемы, почему мы видим кракоябры вместо русских букв в Windows 10 - это неправильно выставленные настройки локали (другими словами региональные настройки). В итоге при попытке вывести системные кириллические шрифты на экран мы видим полную неразбериху и хаос, при чем там не все русские символы. Насколько вы можете заметить из скриншота ниже, не все символы отображаются некорректно. Таким образом, названия программ и ярлыки на рабочем столе написаны совершенно корректно, но при попытке вызвать установщик с описанием на русском языке наша проблема сразу вылезет на первый план, и вместо русских букв мы увидим кракоярбра.< /p>

Помимо некорректной установки Locali, это может быть вызвано тем, что вы изначально установили англоязычную версию дистрибутива Windows, "заточенную" под латиницу. В этом случае все, что нам нужно сделать, это русскоязычная версия.Но мы будем иметь в виду то, что вы хотите Работать с англоязычной средой, в которой все русские символы должны отображаться корректно и без ошибок, вне зависимости от того, какими программами вы пользуетесь, английскими или русскими. Как сделать, чтобы не кракелки не отображались вместо русских букв в Windows 10 - читайте далее.

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


В открывшемся окне панели управления выберите раздел «Часы, язык и регион». Именно здесь сосредоточены все региональные настройки: выбор часового пояса, дробные разделители и целые части для чисел с плавающей запятой, обозначения валюты, группировка больших чисел по заданным признакам. Выберите указанный выше раздел.


Входя в категорию, описанную ранее, мы отдаем предпочтение сектору «Региональные стандарты».


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


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


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


Далее в системе появляется предупреждение о том, что в региональные параметры носителя внесены изменения, для вступления которых в силу происходит перезагрузка системы. Соглашаемся с этим, перезагружаемся и проверяем результат. В результате кракозябры вместо русских букв в Windows 10 отображаться больше не должны, что можно проверить, еще раз запустив тот же, ранее проблемный до установки дистрибутив, или любой другой, с отображением которого ранее возникали проблемы.< /p>


Как видите, трудности успешно решены, и теперь все шрифты должны отображаться корректно. Представленное вашему вниманию решение подходит в большинстве ситуаций, когда на экране вместо русских букв в Windows 10 отображаются кракелюры.


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

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

Иногда по определенным причинам пользователи Windows используют что-то, что вызывает сбой кодирования.Какая-то установленная программа на сегменте отказывается воспроизводить кириллический текст, вместо того, чтобы выдавать ему странные символы или "... "

<р>2. Не исключено, что проблемы с кодировкой вызваны нарушением системных настроек шрифтов.
Чтобы восстановить настройки шрифта, скачайте этот файл и запустите файл, который в нем находится, игнорируя все предупреждения:

Решение проблем с кодировкой в ​​Windows Vista/7:

В Windows 7 некоторые программы могут использовать неверные шрифты (новый шрифт). Например, вопросительные знаки вместо букв или других символов. Это связано с тем, что в настройках установки Windows установленная тема использует нестандартные шрифты или язык и региональные стандарты отличаются от русских.

Действенный способ, исправляющий кодировку в Windows 7 в особо тяжелых случаях — используйте, когда совсем ничего не помогает. Зайдите в Б. Панель управления, выберите язык и региональные стандарты. На вкладке Форматы Меняем формат на английский (США). Затем переходим во вкладку Дополнительно, нажимаем кнопку Изменить язык системы и также выбираем Английский (США). После этого перезагрузите компьютер. Теперь, когда компьютер перезагрузился, верните языковые настройки на русский (Россия). Кодировка должна быть исправлена.

Если не помогло, правила ветки реестра:

Запустите редактор реестра (Пуск – Выполнить –> Regedit).

При выполнении следующих действий будьте предельно внимательны - неосторожная работа с реестром Windows может привести к печальным последствиям!

Необходимо изменить значения параметров с "1250" на "1255" - установить для каждого из этих параметров значение "C_1251.NLS" - в следующих ключах:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\CodePage

HKEY_LOCAL_MACHINE\SYSTEM\CONTROLSET002\CONTROL\NLS\CODEPAGE

Сокращение в Windows XP

Чтобы ручками не лезть в реестр windows Попробуйте сделать следующее:

Создайте файл в блокноте, скопировав в него следующий текст, сохраните с расширением "REG" с любым именем, английскими буквами, например, 1251.reg, и запустите его. В 90% случаев с "Кракоябрам" помогает ХР.

Редактор реестра Windows версии 5.00

"1250" = "c_1251.nls"

"1251" = "c_1251.nls"

"1252" = "c_1251.nls"

"1253" = "c_1251.nls"

"1254" = "c_1251.nls"

"1255" = "c_1251.nls"

Либо настроить в ветке реестра отвечающую за отображение кириллических шрифтов.

У меня есть эта странная проблема, с которой я сталкиваюсь уже много лет, начиная с Windows 8 (сейчас я использую Windows 10, если я правильно помню. Проблема только на моем рабочем компьютере. Другие мои персональные компьютеры не похоже, у меня нет проблем. Сначала я не думал о том, чтобы обратиться за помощью, потому что нашел обходной путь, который я объясню позже, но я думаю, что этого достаточно.

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

А вот как это выглядит после вставки:

Интересно, что если я скопирую один и тот же текст хотя бы еще раз, он вставится правильно.

Удаление даже одного символа из выделения перед копированием приведет к "сбросу" проблемы.

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

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

Есть идеи, как это исправить навсегда? Любая помощь будет высоко оценена.

Было бы полезно, если бы вы упомянули программы, из которых копируете или в которые вставляете. Также укажите версию Windows и языковой стандарт

Все программы реагируют одинаково — независимо от того, копирую ли я их или вставляю в них — и я столкнулся с этой проблемой, начиная с Windows 8, поэтому я не упоминаю конкретные номера версий. Я сейчас использую Windows 10, как уже упоминалось. Язык системы, который я использую на всех своих устройствах, — английский (США), но это единственное устройство с раздражающей проблемой копирования и вставки.

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

Хорошо. Я чувствую себя глупо сейчас. Переключение настроек локали решило проблему. Я могу сколько угодно копировать и вставлять текст Unicode, даже возвращаясь к английскому языку (США).

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

2 ответа 2

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

Это относится к Windows 10 (сборка 15002), но может быть аналогично более старым (или более новым) версиям Windows.

  1. Перейдите к настройкам региона на панели управления. Есть несколько способов сделать это, и вот некоторые из них.
    • В строке поиска (Cortana) на панели задач найдите «Панель управления». На панели управления нажмите «Изменить формат даты, времени или чисел» в разделе «Часы, язык и регион» в представлении категорий или «Регион» в представлении списка значков.
    • Только для Windows 10: снова на панели поиска введите «регион и язык». Откроется страница «Регион и язык» в приложении «Настройки». Прокрутите вниз, пока не найдете Дополнительные настройки даты, времени и региона. Затем вы можете выбрать «Регион» в открывшемся окне панели управления.
  2. Откройте вкладку "Администрирование" и нажмите кнопку "Изменить языковой стандарт системы". Выберите языковой стандарт, который отличается от вашего текущего языкового стандарта. Я пошел с японцем. Я думаю, что лучше всего выбрать язык, который вы будете часто копировать и вставлять, хотя он может быть одним и тем же в любом случае. Подтвердите изменение, нажав OK.
  3. Система попросит вас перезагрузить компьютер, что, очевидно, потребуется сделать, чтобы заметить изменения.
  4. После перезапуска проверьте, работает ли копирование и вставка должным образом. В случае успеха вы можете повторить описанные выше шаги еще раз и вернуться к нужному языковому стандарту.

Вот оно! Наслаждайтесь копированием! ;)

Все продукты Microsoft совместимы с Unicode. Не имеет смысла менять язык для решения проблемы.

. указывает на то, что кодировка Unicode или UTF-8 распознается неправильно (а не ошибочно диагностируется как другая кодировка (возможно, между программой и буфером обмена).

Поэтому неправильное копирование и вставка, вероятно, связаны с устаревшей функциональностью с ASCII — обновите, и это должно решить проблему!

Этот форум перенесен в раздел вопросов и ответов Майкрософт. Посетите Microsoft Q&A, чтобы публиковать новые вопросы.

Отвечает:

Я не могу включить кириллицу в своем консольном приложении Visual C++ в Visual Studio 2017 Community.

Вопрос

Здравствуйте. На мой взгляд, это тот раздел форума, который мне нужен.

Ответы

Основы основ:

работа? Это устанавливает stdout в UTF-16, а затем использует wprintf для вывода символов UTF-16. Кстати, U+0400 — это Ѐ.

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

Чтобы включить вывод Unicode на консоль, шрифт консоли должен быть установлен на шрифт истинного типа. Это можно сделать, открыв окно консоли, подойдет любое, но обычная командная строка, вероятно, лучше всего. В левом верхнем углу окна вокруг значка командной строки щелкните правой кнопкой мыши и выберите значения по умолчанию. Это должно открыть окно типа:

Перейдите на вкладку "Шрифт" и выберите один из шрифтов, рядом с которым стоит TT.

Поскольку у вас установлена ​​Visual Studio 2017, у вас должны быть доступны Consolas. Нажмите кнопку OK и закройте все окна командной строки.

После повторной попытки, поскольку в Consolas используется кириллический диапазон, вы должны получать кириллические символы, используя мой код выше.

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

  • Отредактировано Darran Rowe 28 мая 2019 г., 20:43
  • Предложено в качестве ответа Жанин Чжан, сотрудник контингента Майкрософт, 29 мая 2019 г., среда, 6:17.
  • Помечено Purple_Apple в качестве ответа 3 ноября 2019 г., 16:45

Все ответы

Набор символов, используемый вашей консолью, определяется вашей "кодовой страницей". По умолчанию Windows работает с кодовой страницей 437, производной от US-Latin1. Вы можете попробовать изменить кодовую страницу на кириллицу, введя

Или вы можете попробовать переключиться на UTF-8, выполнив

Кстати, это довольно уродливая часть работы с Windows. Я, например, был бы признателен, если бы вы информировали нас о том, что вы обнаружите здесь.

Тим Робертс | Почетный водитель MVP | Провиденца & Букельхайде, Инк.

  • Предложено в качестве ответа Жанин Чжан, сотрудник контингента Майкрософт, 29 мая 2019 г., 3:24, среда, 29 мая 2019 г.

Основы основ:

работа? Это устанавливает stdout в UTF-16, а затем использует wprintf для вывода символов UTF-16. Кстати, U+0400 — это Ѐ.

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

Чтобы включить вывод Unicode на консоль, шрифт консоли должен быть установлен на шрифт истинного типа. Это можно сделать, открыв окно консоли, подойдет любое, но обычная командная строка, вероятно, лучше всего. В левом верхнем углу окна вокруг значка командной строки щелкните правой кнопкой мыши и выберите значения по умолчанию. Это должно открыть окно типа:

Перейдите на вкладку "Шрифт" и выберите один из шрифтов, рядом с которым стоит TT.

Поскольку у вас установлена ​​Visual Studio 2017, у вас должны быть доступны Consolas. Нажмите кнопку OK и закройте все окна командной строки.

После повторной попытки, поскольку в Consolas используется кириллический диапазон, вы должны получать кириллические символы, используя мой код выше.

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

  • Отредактировано Darran Rowe 28 мая 2019 г., 20:43
  • Предложено в качестве ответа Жанин Чжан, сотрудник контингента Майкрософт, 29 мая 2019 г., среда, 6:17.
  • Помечено Purple_Apple в качестве ответа 3 ноября 2019 г., 16:45

Поддержка utf-8 будет улучшена, может быть, очень скоро для этих счастливых людей, которых волнует только Win10. Информация за 2008 год слишком устарела для win10.

Тем временем. если вы используете _setmode(), вы должны использовать wprintf и широкий исходный текст.

С предварительной командой chcp 65001 можно просто напечатать узкий текст, закодированный как UTF-8. Вероятно, это то, что вам нужно.

Команда chcp отправляет на консоль недокументированный ioctl. Если бы это было задокументировано, его можно было бы назвать вместо _setmode.

Я сказал что-то другое? Очевидная причина, по которой я использовал именно этот код, заключалась в том, чтобы гарантировать, что wprintf будет внутренне выводить с помощью WriteConsoleW. Причина, по которой это было важно проверить, заключалась в том, что консоль не работает в Unicode, если для консоли выбраны растровые шрифты или любой другой шрифт, отличный от True Type. Это было сделано для диагностики только одной проблемы.

С помощью предварительной команды chcp 65001 можно просто напечатать узкий текст в кодировке UTF-8. Вероятно, это то, что вам нужно.

Откуда вы это знаете, не видя никакого кода?

Команда chcp отправляет на консоль какой-то недокументированный ioctl. Если бы это было задокументировано, его можно было бы назвать вместо _setmode.

Кажется, это чертовски лучше, чем использование chcp в новом окне консоли.

Но, если честно, мне бы больше хотелось, чтобы тип char8_t из C++20 приземлился. Его можно использовать как тип UTF-8, поэтому при работе с Unicode даже для UTF-8 не нужно полагаться на кодовую страницу системы.

Это подпись. Любые приведенные примеры не предназначены для проверки ошибок или демонстрации лучших практик. Они предназначены только для того, чтобы проиллюстрировать точку зрения. Я также могу дать неэффективный код или представить некоторые проблемы, чтобы препятствовать копированию/вставке кода. Это потому, что основная цель моих постов — помочь в процессе обучения.

> Не видя никакого кода, откуда вы это знаете?

Вы увидели достаточно кода, чтобы догадаться. Поскольку все приличные редакторы и система контроля версий поддерживают utf-8, все хранят свои исходные файлы в utf-8 без BOM. Таким образом, естественно захотеть просто написать в файле C: printf("кузькина мать!\n") - и увидеть, как оно будет правильно напечатано, так же, как редактор отобразит его правильно. (у тех бедолаг, которые пишут справа налево и снизу вверх, в любом случае проблемы посерьезнее).

> чего бы я хотел больше, так это чтобы тип char8_t C++20 приземлился. Его можно использовать как тип UTF-8, чтобы не полагаться на кодовую страницу системы при работе с Unicode даже для UTF-8

Разве char8_t не просто синтаксический сахар? Как базовый уровень ОС может отличить char от char8_t?

Нет, char8_t был добавлен как новый фундаментальный тип. Вы можете перегружать функции на нем, специализировать шаблоны на нем, а начиная с C++ 20 тип строковых литералов u8 будет const char8_t[].

Это выведет:

в do_work(const char *)
в do_work(const char8_t *)

Поэтому компилятор прекрасно различает их.

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

Ваш ответ не относится к вопросу Павла. Вы показали, что компилятор может различать char и char8_t, но API-интерфейсы операционной системы ничего не поймут.Они просто получат указатель на биты и должны будут полагаться на кодовые страницы для выполнения преобразований.

Тим Робертс | Почетный водитель MVP | Провиденца & Букельхайде, Инк.

Я думал, что предоставил достаточно информации, чтобы люди могли делать ссылки.

Ответ: нет. Вы никогда не могли бы гарантировать, что кодовая страница операционной системы все равно будет установлена ​​​​на UTF-8. Поскольку версии A функций Windows API в основном используют MultiByteToWideChar в строке с текущим кодовым кодом и вызывают версию W функции, то использование функций A приведет к искажению входной строки.

Это позволяет вам точно знать, что входная кодировка — UTF-8, и самостоятельно использовать MultiByteToWideChar с кодовой страницей UTF-8, а затем использовать функции W.

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

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

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

    во время копирования/вставки между некоторым приложением, отличным от Unicode, и (или другой программой Unicode)

Далее проблема, связанная с Word:

Примечание по терминологии.
Большинства этих проблем нет в среде "Русской Windows".
Когда я пишу ниже "русская версия Windows", я имею в виду не только эту специальную, локализованную версию, где слово "Пуск" на русском языке.
Я имею в виду любую установку Windows (даже с английским интерфейсом), где a
(проблема системной кодовой страницы подробно описана в разделе моего сайта)

Итак, чтобы избежать этого длинного описания - я называю такую ​​установку Windows русской Windows.

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

Многие приложения для Windows по-прежнему не поддерживают Unicode и используют устаревшие кодировки, такие как или

    Окна ввода текста Netscape ver. 3 и 4, например, окно подготовки электронной почты

Если вы хотите переместить кириллические тексты (выполнить копирование и вставку) между (или другой программой на основе Unicode) и какой-либо программой, не поддерживающей Unicode, или хотите работать с вместе с , вы можете столкнуться с некоторыми проблемами:

одновременная работа как с кириллическими текстами, использующими Unicode, так и с теми, которые не используют, часто приводит (под нерусской Windows) к нечитаемым, тарабарским текстам или просто к набору вопросительных знаков вместо кириллических букв.

Ниже вы найдете решения этих проблем.

Примечание.
Я предполагаю, что вы уже знаете, как включить кириллические шрифты и инструменты кириллической клавиатуры в Windows.
Если это не так, сделайте это, прежде чем читать дальше.
Чтобы включить кириллические шрифты и клавиатуру, прочитайте раздел моего сайта.

    Программа Unicode ---> программа, не поддерживающая Unicode
    Из программы Unicode (например, Word 97 и новее, Internet Explorer, Outlook Express, , )
    вместо кириллицы в окне программы, не поддерживающей Unicode

<УЛ>
  • чтение такого файла: нечитаемый (тарабарщина) текст вместо кириллицы
  • сохранение кириллического документа в формате .TXT: вопросительные знаки вместо кириллицы
  • Копировать/Вставить:
    Программа Unicode ---> программа, не поддерживающая Unicode

    Попытка скопировать кириллический текст из программы Unicode (например, Word 97 и новее, Internet Explorer, Outlook Express, , ) в программу, не поддерживающую Unicode (например, UltraEdit, Dreamweaver)
    и вижу только кириллицу в результате.

    <УЛ>
  • Юникод содержит буквы кириллицы, а "западный" - нет.
  • Поэтому для каждой кириллической буквы результатом такого преобразования является a, который является обозначенным символом, означающим
    Кстати, это настоящий, обычный вопросительный знак и ничего более, т.е. больше никаких кириллических букв в том тексте с вопросом отметки.
  • Решение: используйте промежуточное окно — программу, которая понимает Unicode, а также позволяет указать, что вы имеете дело с «кириллицей», а не «западной» кодировкой.

      Netscape 4.7x как промежуточное окно
      Только если у вас уже есть Netscape (кстати, более ранние версии 4.x тоже подходят).
      Потому что, если у вас не установлен Netscape 4, вам лучше использовать другую программу, поскольку она намного "легче" и представляет собой просто текстовый редактор.

    Netscape 4 может помочь решить проблему при копировании/вставке из программы Unicode в программу, не поддерживающую Unicode

    <УЛ>
  • Позвоните в Netscape
  • Открыть окно Composer через меню - Communicator/Composer
  • Переключиться на кодировку кириллицы (Windows):
    • в Netscape 4.x: Вид/Набор символов/Кириллица (Windows-1251)
    • в Netscape 4. 0 x: Вид/Кодировка/Кириллица (Windows-1251)
    <УЛ>
  • Сначала скопируйте текст из вашей программы Unicode в Netscape Composer
    (где текущая кодировка - кириллица (Windows)!)
  • Выделите текст, который был скопирован в Composer (например, с помощью Ctrl/A или Edit/SelectAll), и скопируйте его сейчас в нужную программу, не поддерживающую Unicode.
    Это приведет к созданию обычного кириллического текста, а не вопросительных знаков, потому что теперь система «знает», что текст был в «кириллице», а не в кодировке системной кодовой страницы («западной»)
    • Сначала скопируйте текст из вашей программы Unicode в окно UniPad.
      Поскольку UniPad понимает Unicode, вы должны увидеть там обычную кириллицу.

    Это было преобразование из текста Unicode в текст, отличный от Unicode, где вместо использования системной кодовой страницы ("западной") в качестве целевой кодировки мы явно указали, что целевой кодировкой является "кириллица"!

    Копировать/Вставить:
    программа, не поддерживающая Unicode ---> программа, поддерживающая Unicode

    Попытка скопировать кириллический текст из программы, не поддерживающей Юникод (например, UltraEdit или Macromedia Dreamweaver), в программу, поддерживающую Юникод (например, Word 97 и новее, Internet Explorer, Outlook Express, , ), и вижу только нечитаемый (тарабарщину) текст вместо кириллицы в результате.

    Обычно это происходит под нерусскоязычной версией Windows (то есть там, где Системная кодовая страница не "Кириллица, CP-1251").
    Программа Unicode не знает, что входящий текст является кириллическим, и использует системную кодовую страницу по умолчанию при преобразовании из текста, отличного от Unicode, в текст Unicode.
    Например, при "западной" установке Windows он рассматривает входящие байты как последовательность байтов "западной" кодировки и выполняет преобразование
    "западноевропейская, CP-1252" ---> Unicode

    Например:
    Маленькая кириллица 'd', содержащаяся в этом исходном тексте, отличном от Unicode, имеет значение байта 228 на кодовой странице "Кириллица, CP-1251". Но эта программа Unicode предполагает, что входящие данные относятся к "западной" кодировке! В кодовой странице "Western, CP-1252" значение 228 является немецким а-умляутом, поэтому происходит следующее преобразование:
    немецкий а-умлаут, не входящий в Юникод ---> немецкий а-умляут в Юникоде
    и вы увидите немецкий a-umlaut в этой программе Unicode вместо русской 'd' после того, как вставите туда текст.

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

    Примечание. Word 2000/XP имеет собственное решение для текста, скопированного в Word, см. раздел ниже.

    • Выделите текст, который хотите скопировать.
    • Прежде чем выбрать в меню этой программы пункт «Редактировать/Копировать» (или нажать Ctrl/C), вам необходимо переключить клавиатуру в нужный режим кириллицы, например, «Русский», если это русский текст.
      (Активация русской клавиатуры описана в разделе моего сайта)

      если программа Unicode, в которой вы пытаетесь скопировать кириллический текст, используйте

    Макрофоны MS Eefonts для Word 2000/XP

    Microsoft предлагает бесплатный макрос, который решает проблему нечитаемого текста, скопированного из какой-либо программы, не поддерживающей Unicode, в документ.
    Тот же макрос помогает сделать читабельным старый кириллический .doc, созданный в прошлом, например, без Юникода.

    Найдите там ссылку для загрузки Eefonts.exe .

    Загрузите и установите его. Теперь в Word 2000/XP у вас появится новая опция в меню "Инструменты":
    Инструменты / Исправить неработающий текст

      Инструменты/Исправить неверный текст

    Теперь у вас будет читабельная кириллица!

    Решение 2
    для не-Unicode --> случай копирования Unicode

    Универсальное решение для успешного копирования кириллического текста из программы, не поддерживающей Юникод (Dreamweaver, обычный текстовый редактор и т. д.), в программу, поддерживающую Юникод (Internet Explorer, Outlook и т. д.), заключается в следующем:

    Используйте промежуточное окно, например программу, которая понимает Unicode, а также позволяет указать, что вы имеете дело с "кириллицей", а не "западной" кодировкой.

      Загрузите и установите редактор UniPad:

      В вашей программе, отличной от Unicode, выделите и скопируйте текст, содержащий буквы кириллицы, в буфер обмена Windows (Редактировать/Копировать в меню вашей программы или Ctrl/C)

    Теперь вы должны увидеть обычный кириллический текст в этом окне UniPad.
    Это было преобразование из текста, отличного от Unicode, в текст Unicode (UniPad — редактор Unicode), где вместо использования системной кодовой страницы (скажем, "западной") в качестве исходной кодировки мы явно указывали, что исходная кодировка "Кириллица"!

    Кириллица в MS Word 97 и новее:
    работа с файлами .TXT

    <УЛ>
  • открытие такого файла в Word: нечитаемый (тарабарщина) текст вместо кириллицы
  • сохранение кириллического документа в формате .TXT: вопросительные знаки вместо кириллицы
  • Сказанное выше происходит под нерусскоязычной виндой, т.е. когда системная кодовая страница не та.

    Обычные текстовые файлы (.TXT) содержат текст, отличный от Unicode, поэтому при работе с такими файлами на основе Unicode выполняется преобразование между текстом Unicode и текстом, отличным от Unicode.
    По умолчанию это преобразование использует системную кодовую страницу, и поэтому мы видим вышеуказанные проблемы, если системная кодовая страница скажем, а не «кириллица».

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

    MS Word 2000 и более поздние версии имеют собственный способ указать это, хотя для этого требуется промежуточная программа.


    Вот решения для двух случаев, когда используются обычные текстовые (.TXT) кириллические файлы:


    Открытие кириллического простого текста (.TXT) в MS Word 97 и новее

    Предположим, что у вас есть простой текстовый (.TXT) русский файл, содержащий текст в кодировке (он же "кириллица (Windows)" или "Windows-1251").

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

    MS Word 2000 и новее

      Инструменты/Параметры/Общие и установите флажок "Подтверждать преобразование при открытии" (т. е. показывать диалоговое окно сведений о преобразовании)

    Word 2010 – Файл/Параметры/Дополнительно, а в конце этого списка параметров укажите "Общие" и установите флажок

    <УЛ>
  • Нажмите "Другая кодировка".
  • В списке выберите "Кириллица(Windows)"
  • Нажмите "ОК".
    • Если у вас уже есть браузер Netscape, используйте самый простой метод на основе Netscape

    Если у вас нет Netscape, вы можете использовать следующий метод, который требует дополнительных действий:

    <УЛ>
  • в Netscape 6 — Вид/Кодировка символов/Кириллица (Windows-1251)
  • в Netscape 4.5+ – Вид/Набор символов/Кириллица (Windows-1251)
  • в Netscape 4. 0 x: Вид/Кодировка/Кириллица (Windows-1251)
  • Теперь вы должны увидеть нормальный кириллический текст и можете смело копировать его в


    Метод загрузки кириллического файла .TXT в редакторе Plain Text без поддержки Unicode

    Вместо того, чтобы открывать файл с кириллическим текстом (.TXT) непосредственно в файле, вам нужно открыть его в любом текстовом редакторе, а затем использовать методы копирования/вставки этой страницы, чтобы поместить этот текст в
    Я использую условно-бесплатный текстовый редактор UltraEdit, так что вы также можете загрузить его или использовать свой любимый текстовый редактор, работающий с кириллицей.


    Сохранение кириллического текста Word 97+ в виде обычного текстового файла (.TXT)

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

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

    MS Word 2000 и новее

      Файл / Сохранить как введите имя этого нового файла, а затем выберите
      (в Word 2003 выберите «Обычный текст (*.txt))

    Вновь созданный простой текстовый файл содержит обычный кириллический текст, а не вопросительные знаки :)

    Итак, у вас есть кириллический текст в открытом окне MS Word 97, и вы хотите сохранить его как обычный текстовый файл.
    Вместо того, чтобы создавать этот файл кириллического простого текста (.TXT), вам нужно скопировать текст в любой текстовый редактор, не поддерживающий Unicode, а затем сделать это там.
    Я использую условно-бесплатный текстовый редактор UltraEdit, так что вы также можете скачать его или использовать свой любимый текстовый редактор, работающий с кириллицей.

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