В файле блокнота содержится юникод но его не видно
мой компьютер недавно нормально отображал символы Юникода. Однако; он недавно перестал отображать их, я могу успешно отображать символы в блокноте на другом компьютере, под управлением той же Win 7, но это x86 вместо x64. В обоих случаях используется один и тот же шрифт (arial) переключение на шрифт, поддерживаемый unicode на компьютере x64 устраняет проблему. Есть мысли?
Исправляем иероглифы на текст
Окна в различных приложениях Windows
Бывает такое, что какое-нибудь окно или меню в программе показывается с иероглифами (разумеется, прочитать что-то или разобрать — нереально).
📌 Могу дать несколько рекомендаций:
- Русификатор. Довольно часто официальной поддержки русского языка в программе нет, но многие умельцы делают русификаторы. Скорее всего, на вашей системе — данный русификатор работать отказался. Поэтому, совет простой: попробовать поставить другой;
- Переключение языка. Многие программы можно использовать и без русского, переключив в настройках язык на английский. Ну в самом деле: зачем вам в какой-то утилите, вместо кнопки "Start" перевод "начать" ?
- Если у вас раньше текст отображался нормально, а сейчас нет — попробуйте 👉 восстановить Windows, если, конечно, у вас есть точки восстановления;
- Проверить настройки языков и региональных стандартов в Windows, часто причина кроется именно в них (👇).
Языки и региональные стандарты в Windows
Чтобы открыть меню настроек:
- нажмите Win+R ;
- введите intl.cpl , нажмите Enter.
intl.cpl - язык и регион. стандарты
Проверьте чтобы во вкладке "Форматы" стояло "Русский (Россия) / Использовать язык интерфейса Windows (рекомендуется)" (пример на скрине ниже 👇).
Формат - русский / Россия
Во вкладке "Местоположение" — укажите "Россия" .
И во вкладке "Дополнительно" установите язык системы "Русский (Россия)" .
После этого сохраните настройки и перезагрузите ПК. Затем вновь проверьте, нормально ли отображается интерфейс нужной программы.
Текущий язык программ
PS
И напоследок, наверное, для многих это очевидно, и все же некоторые открывают определенные файлы в программах, которые не предназначены для этого: к примеру в обычном блокноте пытаются прочитать файл DOCX или PDF.
Естественно, в этом случае вы вместо текста будут наблюдать за крякозабрами, используйте те программы, которые предназначены для данного типа файла (WORD 2016+ и Adobe Reader для примера выше).
Наверное, каждый пользователь ПК сталкивался с подобной проблемой: открываешь интернет-страничку или документ Microsoft Word — а вместо текста видишь иероглифы (различные «крякозабры», незнакомые буквы, цифры и т.д. (как на картинке слева…)).
Хорошо, если вам этот документ (с иероглифами) не особо важен, а если нужно обязательно его прочитать?! Довольно часто подобные вопросы и просьбы помочь с открытием подобных текстов задают и мне. В этой небольшой статье я хочу рассмотреть самые популярные причины появления иероглифов (разумеется, и устранить их).
Иероглифы в текстовых файлах (.txt)
Самая популярная проблема. Дело в том, что текстовый файл (обычно в формате txt, но так же ими являются форматы: php, css, info и т.д.) может быть сохранен в различных кодировках .
Чаще всего происходит одна вещь: документ открывается просто не в той кодировке из-за чего происходит путаница, и вместо кода одних символов, будут вызваны другие. На экране появляются различные непонятные символы (см. рис. 1)…
Рис. 1. Блокнот — проблема с кодировкой
Как с этим бороться?
На мой взгляд лучший вариант — это установить продвинутый блокнот, например Notepad++ или Bred 3. Рассмотрим более подробно каждую из них.
Notepad++
Один из лучших блокнотов как для начинающих пользователей, так и для профессионалов. Плюсы: бесплатная программа, поддерживает русский язык, работает очень быстро, подсветка кода, открытие всех распространенных форматов файлов, огромное количество опций позволяют подстроить ее под себя.
В плане кодировок здесь вообще полный порядок: есть отдельный раздел «Кодировки» (см. рис. 2). Просто попробуйте сменить ANSI на UTF-8 (например).
Рис. 2. Смена кодировки в Notepad++
После смены кодировки мой текстовый документ стал нормальным и читаемым — иероглифы пропали (см. рис. 3)!
Рис. 3. Текст стал читаемый… Notepad++
Bred 3
Еще одна замечательная программа, призванная полностью заменить стандартный блокнот в Windows. Она так же «легко» работает со множеством кодировок, легко их меняет, поддерживает огромное число форматов файлов, поддерживает новые ОС Windows (8, 10).
Кстати, Bred 3 очень помогает при работе со «старыми» файлами, сохраненных в MS DOS форматах. Когда другие программы показывают только иероглифы — Bred 3 легко их открывает и позволяет спокойно работать с ними (см. рис. 4).
Если вместо текста иероглифы в Microsoft Word
Самое первое, на что нужно обратить внимание — это на формат файла. Дело в том, что начиная с Word 2007 появился новый формат — « docx » (раньше был просто « doc «). Обычно, в «старом» Word нельзя открыть новые форматы файлов, но случается иногда так, что эти «новые» файлы открываются в старой программе.
Просто откройте свойства файла, а затем посмотрите вкладку « Подробно » (как на рис. 5). Так вы узнаете формат файла (на рис. 5 — формат файла «txt»).
Если формат файла docx — а у вас старый Word (ниже 2007 версии) — то просто обновите Word до 2007 или выше (2010, 2013, 2016).
Рис. 5. Свойства файла
Рис. 6. Word — преобразование файла
Чаще всего Word определяет сам автоматически нужную кодировку, но не всегда текст получается читаемым. Вам нужно установить ползунок на нужную кодировку, когда текст станет читаемым. Иногда, приходится буквально угадывать, в как был сохранен файл, чтобы его прочитать.
Рис. 7. Word — файл в норме (кодировка выбрана верно)!
Смена кодировки в браузере
Когда браузер ошибочно определяет кодировку интернет-странички — вы увидите точно такие же иероглифы (см. рис 8).
Рис. 8. браузер определил неверно кодировку
- Google chrome: параметры (значок в правом верхнем углу)/дополнительные параметры/кодировка/Windows-1251 (или UTF-8);
- Firefox: левая кнопка ALT (если у вас выключена верхняя панелька), затем вид/кодировка страницы/выбрать нужную (чаще всего Windows-1251 или UTF-8) ;
- Opera: Opera (красный значок в верхнем левом углу)/страница/кодировка/выбрать нужное.
PS
Таким образом в этой статье были разобраны самые частые случаи появления иероглифов, связанных с неправильно определенной кодировкой. При помощи выше приведенных способов — можно решить все основные проблемы с неверной кодировкой.
Фишка кодировки текстовых фалов в том, что хранятся не сами буквы (символы), а ссылки на них в таблице кодировок. Если с латинским буквами, арабскими цифрами и основными символами типа точек, тире и запятых никаких проблем не возникает: во многих таблицах кодировок все эти буквы, цифры и символы находятся в одних и тех же ячейках, то с кириллицей всё сложно. Например, в разных кодировках буква Ы может находиться в ячейке 211, 114 и 69.
Именно поэтому на заре интернета чтобы посмотреть разные сайты с разными кодировками приходилось подбирать кодировку. (Но кто это помнит?) Сейчас кодировка страницы обычно прописана в заголовке страницы, что позволяет браузеру "автоматически" подбирать отображение символов на наших мониторах.
То есть сервер отдаёт не просто HTML-страничку, а указывает, что у неё кодировка Windows-1251 . Браузер таким образом, считывая информацию о кодировке полученного файла, подставляет символы из указанной кодировки.
Но и это ещё не всё веселье. Например, если на сервере установлена операционная система из семейства *nix (с кодировкой по умолчанию UTF-8 ), а мы шлём файл из нашей любимой ОС Windows, где кодировка текстовых фалов по умолчанию стоит почему-то ANSI , то как вы думаете сервер будет работать с текстом, кодировка которой не совпадает с его? Правильно! Как-то будет работать! Но результат работы может быть непредсказуемым и удивительным. =)
Надеюсь, что мотивация для обращение необходимого внимания на кодировку достаточная и можно перейти к сути вопроса: "Как же, чёрт возьми, сохранить файл в нужной кодировке?!"
В этой статье речь пойдёт как раз о том, как сохранить текстовый файл с помощью программы Блокнот (Notepad) в Windows в нужной кодировке.
Для того, чтобы изменить кодировку текстового файла, конечно же сперва его нужно создать. А после того, как файл создан, нужно ещё суметь его открыть. Самый простой способ отрыть файл — это двойной клик левой кнопкой мыши по его иконке в проводнике:
Если до этого настройки Windows не менялись, то файлы с расширением .txt открываются в Блокноте. (Это ещё один способ, как отрыть Блокнот (Notepad).)
Чтобы поменять кодировку в открывшемся файле, нужно в меню «Файл» текстового редактора Блокнот выбрать пункт «Сохранить как. »:
Откроется диалоговое окно сохранения файла. Для смены кодировки, нужно выбрать из списка предлагаемых необходимый:
После того, как нужная кодировка выбрана, можно кликнуть на кнопку «Сохранить» или просто нажать Enter:
Так как мы не изменили имя файла, то будет перезаписан тот же самый файл. Поэтому возникает справедливый вопрос: «Файл с таким именем уже существует. Заменить?» Ну да, мы к этому и стремимся! Поменять кодировку у этого файла. Поэтому его нужно перезаписать с новой кодировкой. Соглашаемся:
Всё! Миссия по смене кодировки в текстовом файле выполнена! Файл сохранён с новой кодировкой. Можно закрыть текстовый редактор и устроить празднование этого решающего события! =D
Когда Я пытался открыть, окна бы сказать "Средство просмотра фотографий Windows не удается открыть это изображение, поскольку файл поврежден или слишком велик".
и все та же ошибка. Вы можете попробовать это, чтобы получить идею, не забудьте выбрать небольшую картинку еще Блокнот будет действовать как старый ржавый человек.
Что может быть причиной этого явления?
в зависимости от кодировки, используемой для открытия файла можно увидеть различное поведение. Мой блокнот Windows 7 позволяет открыть файл в ANSI, UTF-8, Unicode или Unicode big endian.
Я тестировал эту проблему с небольшим jpeg-изображением размером 2x2 пикселя, созданным с помощью gimp, и открывал и сохранял файл изображения с кодировкой ANSI. Открыв и оригинал, и сохраненное изображение в шестнадцатеричном редакторе, я вижу, что все 00 последовательностей (две шестнадцатеричные цифры,нулевой управляющий символ) были конвертируется в 20 (пробел).
замена обратно в шестнадцатеричном редакторе все 20 к 00 восстанавливает формат изображения.
Если вы сохраняете / открываете файл как UTF-8, кажется, что он по-прежнему преобразует нулевые символы в пробелы, но также увеличивает размер полученного файла благодаря преобразованиям из однобайтовых символов в многобайтовые последовательности UTF-8.
Если вы сохраняете / открываете файл в Юникоде, кажется, что он все еще преобразует нулевые символы в пробелы, но также добавляет байт в начало файла,BOM.
Блокнот создать пробелы (ASCII code 32) символов вроде NUL (ASCII code 0) потому что текстовое поле Windows API допускает только завершенное значение null char * ASCIIZ (массив символов, указатель). он будет отрезан в первом нулю.
это происходит потому, что Windows API в основном написано C язык и строки, оканчивающиеся null одна из общих черт. Даже когда современные окна и Unicode считается же нуль терминированные строки происходят. Таким образом, Блокнот просто заменить их с пространством, так что вы можете просмотреть полный файл.
так что при сохранении файла он поврежден.
вы можете использовать компаратор как Beyond compare (коммерческая,пробная версия) чтобы увидеть эффект замены символов. Смотрите также другие инструменты бинарного сравнения.
Примечание : (20)16 = (32)10
проверяет каждый символ и заменяет специальные символы пробелами. Другие программы не выполняют преобразования в памяти (по крайней мере, не примитивные, как notepad). Они просто отображают специальные символы по-разному. И они используют передовые методы буферизации.
( Я предполагаю, что он все еще написан на C++ или, по крайней мере, использует сравнительно похожий линкер)
я использую Святого Джеймса, Грин инструмент (который остановил разработку с введением PE+ / 64 exes)
PEiD можно найти в комплекте в папке bin универсальный Extractor
я извлек Блокнот. ex_ файл из iso Windows xp очевидно. Попробовать ее. Это Cab-файл с использованием 7z.
предупреждение ! Ваш антивирусный сканер может обнаружить Universal Extractor / PEiD в качестве хакерских инструментов или вирусов. Не доверяйте ему не загружайте его !!
Шрифт В Блокноте
в блокноте Windows, вы не можете (в общем) смешивать шрифты, вы можете выбрать только один шрифт одновременно. Однако этот оператор должен быть квалифицирован для последних версий Windows.
действия
на компьютере, который имеет 3,395 КБ Arial regular, скопируйте файл шрифта в безопасное место, снимите его, а затем установите 761 КБ Arial regular файл шрифта, скопированный с другого компьютера.
Вопрос пользователя
Здравствуйте.
Подскажите пожалуйста, почему у меня некоторые странички в браузере отображают вместо текста иероглифы, квадратики и не пойми что (ничего нельзя прочесть). Раньше такого не было.
Заранее спасибо.
Доброго времени суток!
Действительно, иногда при открытии какой-нибудь интернет-странички вместо текста показываются различные "крякозабры" (как я их называю), и прочитать это нереально.
Происходит это из-за того, что текст на страничке написан в одной кодировке (более подробно об этом можете узнать из Википедии ), а браузер пытается открыть его в другой. Из-за такого рассогласования, вместо текста — непонятный набор символов.
Браузер
Вообще, раньше Internet Explorer часто выдавал подобные крякозабры, 👉 современные же браузеры (Chrome, Яндекс-браузер, Opera, Firefox) — довольно неплохо определяют кодировку, и ошибаются очень редко. 👌
Скажу даже больше, в некоторых версиях браузера уже убрали выбор кодировки, и для "ручной" настройки этого параметра нужно скачивать дополнения, или лезть в дебри настроек за 10-ток галочек.
Итак, предположим браузер неправильно определили кодировку и вы увидели следующее (как на скрине ниже 👇).
Вместо текста одни лишь крякозабры // Браузер выставил кодировку неверно!
👉 Кстати!
Чаще всего путаница бывает между кодировками UTF (Юникод) и Windows-1251 (большинство русскоязычных сайтов выполнены в этих кодировках).
Поэтому, я рекомендую в ручном режиме попробовать их обе. Для этого нам понадобиться браузер MX5 (ссылка на офиц. сайт). Он один из немногих позволяет в ручном режиме выбирать кодировку (при необходимости):
- необходимо открыть нужный сайт;
- далее зайти в меню "Инструменты / кодировка" ;
- выбрать вручную UTF 8 или "Авто-определение" ;
- перезагрузить страницу. И, ву-а-ля, — иероглифы на страничке сразу же стали обычным текстом (скрин ниже 👇) !
👉 В помощь!
Если у вас иероглифы в браузере Chrome — ознакомьтесь с этим
Браузер MX5 — выбор кодировки UTF8 или авто-определение
Теперь отображается русский текст норм.
📌 Еще один совет : если вы в своем браузере не можете найти, как сменить кодировку (а дать инструкцию для каждого браузера — вообще нереально!), я рекомендую попробовать открыть страничку в другом браузере (например, в MX5). Очень часто другая программа открывает страницу так, как нужно!
Windows XP и более ранние
в Windows XP и более ранних версиях Блокнот не мог отображать символы, отсутствующие в выбранном шрифте. Поэтому отсутствует или неправильно отображается символ (обычно отображается в виде пустого поля) может быть вызван:
использование Arial вместо Arial Unicode.
Ариал-это 778,552 байт, Ариал Юникод 23,275,812 байт. Разница в том, что огромное количество символов в Arial Unicode, но не в Arial. (эти размеры от Vista не XP, Но разница будет аналогичная).
опуская Знак порядка байтов (BOM)
Windows ожидает файлы Unicode (UTF-8, UTF-16 LE и т. д.) Для хранения спецификации. Если нет, Затем Windows угадывает кодировку с помощью функции Windows API ( isTextUnicode ), который, как известно, делает ошибки, в результате чего вместо одного правильного символа отображается несколько латинских символов-1.
Текстовые документы
Очень много вопросов по крякозабрам задаются при открытии каких-нибудь текстовых документов. Особенно старых, например, при чтении Readme в какой-нибудь программе прошлого века (скажем, к играм) .
Разумеется, что многие современные блокноты просто не могут прочитать DOS'овскую кодировку, которая использовалась ранее. Чтобы решить сию проблему, рекомендую использовать редактор Bread 3.
Попробуйте открыть в Bred 3 свой тексто вый документ (с которым наблюдаются проблемы) . Пример показан у меня на скрине ниже. 👇
Иероглифы при открытии текстового документа
Далее в Bred 3 есть кнопка для смены кодировки: просто попробуйте поменять ANSI на OEM — и старый текстовый файл станет читаемым за 1 сек.!
Исправление иероглифов на текст
👉 Для работы с текстовыми файлами различных кодировок также подойдет еще один блокнот — Notepad++. Вообще, конечно, он больше подходит для программирования, т.к. поддерживает различные подсветки, для более удобного чтения кода.
Пример смены кодировки показан ниже: чтобы прочитать текст, достаточно в примере ниже, достаточно было сменить кодировку ANSI на UTF-8.
Смена кодировки в блокноте Notepad++
Штирлиц
Сайт разработчика: http://www.shtirlitz.ru/
Эта программа специализируется на "расшифровке" текстов, написанных в разных кодировках: Win-1251, KOI-8r, DOS, ISO-8859-5, MAC и др.
Причем, программа нормально работает даже с текстами со смешанной кодировкой (что не могут др. аналоги). Пример см. на скрине ниже. 👇
Пример работы ПО "Штирлиц"
дополнительная информация о Windows API
благодарности:Jason C
Блокнот не сохраняет все специальные / расширенные символы точно так, как они есть. У меня нет ссылки на это поведение сразу под рукой, но я обнаружил, что это так, например, с UNIX-style end of line LF, который Блокнот преобразует в CRLF и null (0x00), который он будет игнорировать. В двоичном файле, таком как JPG, могут быть случайные вхождения символов, которые Блокнот не сохраняет. Попробуйте свой эксперимент с шестнадцатеричным редактором, и он должен работать затем. Я обновлю свой ответ, если найду хорошую ссылку, и как только проверю шестнадцатеричный редактор.
Update: я попробовал несколько известных редакторов программистов, но только один из них работал сразу, HxD от Maël Hörz. Я никогда раньше не использовал HxD, но нашел его благодаря ответу на эту статью стека, плагин hex viewer / editor для Notepad++.
другие редакторы, которые не работали после нескольких минут усилий были Notepad++, Notepad2 и UltraEdit (v17.3, более старая версия). У некоторых из них были проблемы с копированием / вставкой первых нескольких байтов, JPEG магическое число подписи файла FF D8 FF. Может быть, они будут работать немного больше, чем у меня есть время на данный момент.
раньше вы могли сделать это с помощью Write back in the day. Это была стандартная программа в Windows 3.1, но я не могу вспомнить, включена ли она в Windows 95. Write позволит безопасно редактировать любой файл, который он может открыть (возможно, очень ограниченный размер файла). Блокнот определенно не является бинарно безопасным (текст остается тем же, но фактические байты нетекстовых символов [например, коды управления] могут измениться), поэтому ваш пример JPG не работает. Попробуйте получить копию Write (и очень старых Windows) и попробуйте еще раз!
по данным статья Википедии "Windows Write" запись была включена до Windows NT 3.5. Он был заменен Wordpad в Windows 95 и далее. write.exe все еще присутствовал в каталоге Windows, но был просто оболочкой для открытия Wordpad.
Я думаю, что проблема не только в кодировке, но и в наборе символов. Формат JPG в основном представляет собой поток байтов. Таким образом, допуская непечатные символы, такие как нуль, ЕТХ, компании STX, сох, дле, и т. д.
Блокнот может не отображать непечатаемые символы. Он может отображать заполнители какого-то рода, как пробел для нулевого символа. Итак, открываем файл с помощью блокнота не показывают фактическое содержание, но содержание декодируются выбранной кодировке (UTF-8, UTF-16 и т. д.) и отображается определенным набором символов (unicode, ascii и т. д.), исключая непечатаемые символы.
при выборе всего отображаемого текста и копировании текста в буфер обмена копируются только печатаемые символы, включая заполнители. Таким образом, автоматически преобразовывая нулевые символы в пробелы и полностью игнорируя другие непечатаемые символы.
таким образом, в основном вы просто теряете контент, делая это таким образом. Если вы используете шестнадцатеричный редактор, он скопирует все содержание полностью.
файл JPEG содержит нетекстовые данные, за исключением некоторых полей, в основном любые байтовые значения от 0 до 255 будут найдены, особенно в области, представляющей закодированное сжатое изображение, которое содержит почти псевдослучайные данные.
но Блокнот будет рассматривать данные как текст ANSI по умолчанию, поэтому он будет делать различные вещи, которые изменят исходные данные, как:
заменить байты отображения специальных / неопределенных / запрещенных символов, поскольку они не делает смысл допустимого текста ANSI
re кодировать нулевые символы, конец строки и конец последовательности файлов в Windows / DOS конвенций
Это означает, что если вы редактируете и сохраняете данные в виде текста, это изменит jpeg в лучшем случае и сделает его непригодным для использования в худшем.
BAT-файлы (скрипты)
Для начала простой пример о чем идет речь. 👇
На скрине видно, что вместо русского текста отображаются различные квадратики, буквы "г" перевернутые, и пр. иероглифы.
Как выглядит русский текст при выполнении BAT-файла
- в начало BAT-файла добавить код @chcp 1251 ;
- установить программу Notepad++ и в меню выбрать OEM-866: "Кодировки/Кодировки/Кириллица/OEM-866" ;
- установить программу Akelpad, в разделе "Кодировки" выбрать "Сохранить в DOS-866" .
Windows Vista и далее
Блокнот теперь принял стратегию, впервые увиденную в веб-браузерах-если символ не существует в текущем шрифте, найдите шрифт, который делает содержать этот символ и только для этого символа использовать другой шрифт. Поэтому, если у вас есть различные дополнительные шрифты на одном компьютере, он может вести себя по-разному на других компьютерах (даже если ОС одинакова).
" Неправильно " Arial
Я не знаю алгоритма, но представляется возможным, что, если у вас поврежден или значительно меньше Ариал Юникод, что не хватает некоторых символов, Блокнот может поверить шрифт содержит символ не. шрифт Arial шрифт 3,395 КБ не то, что я ожидал бы на Windows 7. Возможно, установка какого-то приложения заменила шрифт по умолчанию на тот, который каким-то образом неисправен?
дополнительные "плохой" шрифт В качестве альтернативы Блокнот может искать другой, недавно добавленный, шрифт для отсутствующего символа, прежде чем смотреть на Arial Unicode. Если этот другой шрифт утверждает, что содержит символ, но не (например, неверный макет теги, Блокнот может не отображать характер
Документы MS WORD
Очень часто проблема с крякозабрами в Word связана с тем, что путают два формата Doc и Docx . Дело в том, что с 2007 года в Word (если не ошибаюсь) появился формат Docx (позволяет более сильнее сжимать документ, чем Doc, да и надежнее защищает его).
Так вот, если у вас старый Word, который не поддерживает этот формат — то вы, при открытии документа в Docx, увидите иероглифы и ничего более.
📌 Есть неск. путей решения:
- скачать на сайте Microsoft спец. дополнение, которое позволяет открывать в старом Word новые документы (с 2020г. дополнение с офиц. сайта удалено) . Только из личного опыта могу сказать, что открываются далеко не все документы, к тому же сильно страдает разметка документа (что в некоторых случаях очень критично) ;
- использовать 👉 аналоги Word (правда, тоже разметка в документе будет страдать);
- обновить Word до современной версии (2019+);
- если речь идет о документы TXT — открыть его в Notepad++.
Так же при открытии любого документа в Word (в кодировке которого он "сомневается"), он на выбор предлагает вам самостоятельно указать оную. Пример показан на рисунке ниже, попробуйте выбрать:
- Widows (по умолчанию);
- MS DOS;
- Другая.
Переключение кодировки в Word при открытии документа
Читайте также: