В браузере вместо букв квадратики

Обновлено: 06.07.2024






Действительно, иногда при открытии какой-нибудь интернет-странички вместо текста показываются различные «крякозабры» (как я их называю), и прочитать это нереально.

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

Исправляем иероглифы на текст

Браузер

Вообще, раньше Internet Explorer часто выдавал подобные крякозабры, современные же браузеры (Chrome, Яндекс-браузер, Opera, Firefox) — довольно неплохо определяет кодировку, и ошибаются очень редко. Скажу даже больше, в некоторых версиях браузера уже убрали выбор кодировки, и для «ручной» настройки этого параметра нужно скачивать дополнения, или лезть в дебри настроек за 10-ток галочек…

И так, предположим браузер неправильно определили кодировку и вы увидели следующее (как на скрине ниже)…

Неправильно выбранная кодировка

Чаще всего путаница бывает между кодировками UTF (Юникод) и Windows-1251 (большинство русскоязычных сайтов выполнены в этих кодировках).

Поэтому, я рекомендую в ручном режиме попробовать их обе. Например, чтобы это сделать в браузере Firefox, нужно:

  1. нажать левый ALT — чтобы сверху показалось меню. Нажать меню «Вид»;
  2. выбрать пункт «Кодировка текста», далее выбрать Юникод. Вуаля — иероглифы на странички сразу же стали обычным текстом (скрин ниже)!

Смена кодировки в Firefox

Еще один совет: если в браузере не можете найти, как сменить кодировку (а дать инструкцию для каждого браузера — вообще нереально!), я рекомендую попробовать открыть страничку в другом браузере. Очень часто другая программа открывает страницу так, как нужно.

Текстовые документы

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

Разумеется, что многие современные блокноты просто не могут прочитать DOS’овскую кодировку, которая использовалась ранее. Чтобы решить сию проблему, рекомендую использовать редактор Bread 3.

Попробуйте открыть в Bred 3 свой текстовый документ (с которым наблюдаются проблемы). Пример показан у меня на скрине ниже.

Иероглифы при открытии текстового документа

Далее в Bred 3 есть кнопка для смены кодировки: просто попробуйте поменять ANSI на OEM — и старый текстовый файл станет читаемым за 1 сек.!

Исправление иероглифов на текст

Для работы с текстовыми файлами различных кодировок так же подойдет еще один блокнот — Notepad++. Вообще, конечно, он больше подходит для программирования, т.к. поддерживает различные подсветки, для более удобного чтения кода.

Пример смены кодировки показан ниже: чтобы прочитать текст, достаточно в примере ниже, достаточно было сменить кодировку ANSI на UTF-8.

Смена кодировки в блокноте Notepad++

WORD’овские документы

Очень часто проблема с крякозабрами в Word связана с тем, что путают два формата Doc и Docx. Дело в том, что с 2007 Word (если не ошибаюсь) появился формат Docx (позволяет более сильнее сжимать документ, чем Doc, да и надежнее защищает его).

Так вот, если у вас старый Word, который не поддерживает этот формат — то вы, при открытии документа в Docx, увидите иероглифы и ничего более.

  1. скачать на сайте Microsoft спец. дополнение, которое позволяет открывать в старом Word новые документы. Только из личного опыта могу сказать, что открываются далеко не все документы, к тому же сильно страдает разметка документа (что в некоторых случаях очень критично);
  2. использовать аналоги Word (правда, тоже разметка в документе будет страдать);
  3. обновить Word до современной версии.

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

  1. Widows (по умолчанию);
  2. MS DOS;
  3. Другая…

Переключение кодировки в Word при открытии документа

Окна в различных приложениях Windows

Бывает такое, что какое-нибудь окно или меню в программе показывается с иероглифами (разумеется, прочитать что-то или разобрать — нереально).

Могу дать несколько рекомендаций:

  1. Руссификатор. Довольно часто официальной поддержки русского языка в программе нет, но многие умельца делают руссификаторы. Скорее всего, на вашей системе — данный руссификатор работать отказался. Поэтому, совет простой: попробовать поставить другой;
  2. Переключение языка. Многие программы можно использовать и без русского, переключив в настройках язык на английский. Ну в самом деле: зачем вам в какой-то утилите, вместо кнопки «Start» перевод «начать»?
  3. Если у вас раньше текст отображался нормально, а щас нет — попробуйте восстановить Windows, если, конечно, у вас есть точки восстановления (подробно об этом здесь — );
  4. Проверить настройки языков и региональных стандартов в Windows, часто причина кроется именно в них.

Языки и региональные стандарты в Windows

Чтобы открыть меню настроек:

  • нажмите Win+R;
  • введите intl.cpl, нажмите Enter.

intl.cpl — язык и регион. стандарты

Проверьте чтобы во вкладке «Форматы» стояло «Русский (Россия) // Использовать язык интерфейса Windows (рекомендуется)» (пример на скрине ниже).

Формат — русский // Россия

Во вкладке местоположение поставьте расположение Россия.

И во вкладке дополнительно установите язык системы на «Русский (Россия)». После этого сохраните настройки и перезагрузите ПК. Затем вновь проверьте, нормально ли отображается интерфейс нужной программы.

Текущий язык программ

PS

И напоследок, наверное, для многих это очевидно, и все же некоторые открывают определенные файлы в программах, которые не предназначены для этого: к примеру в обычном блокноте пытаются прочитать файл DOCX или PDF. Естественно, в этом случае вы вместо текста будут наблюдать за крякозабрами, используйте те программы, которые предназначены для данного типа файла (WORD 2007+ и Adobe Reader для примера выше).






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

Непонятные символы вместо текста в браузере

Итак, сегодня нас ждет не легкая софтовая статья, а суровая техническая, так что приготовьтесь: будем немного ударяться в суровые реалии.
Поехали.

  • Хотите знать и уметь больше?
  • Что такое кодировка текста и с чем ее едят?
  • Виды кодировок текста
  • Наши новогодние скидки
  • Решаем проблемы с кодировкой или как убрать кракозябры?
  • Послесловие

Что такое кодировка текста и с чем ее едят?

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

Непонятные символы вместо текста в браузере

Сначала я подумал, что моя любимая Мозилка (браузер Firefox) перегрелась и ей пора вызывать неотложку, но потом начал понимать, что проблема, скорее всего, на стороне ресурса сети и кроется она в неправильно настроенной кодировке. Это действительно оказалось так, и пошаманив немного с бубном, проблемка была оперативно решена. Результатом же всех моих любовных похождений и стал сегодняшний материал. Собственно, поехали разбираться в деталях.

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

Если Вы хоть немного знакомы с языком разметки гипертекста (HTML), то должны быть в курсе, что сайт глазами поисковых машин (Google, Яндекс) видится не как обычный текст, а как структурированный документ, состоящий из последовательностей различного рода тегов. Чтобы было понятней, о чем я говорю, давайте взглянем на всеми нами любимый сайт Заметки Сис.Админа” проекта [Sonikelf’s Project’s], но не глазами обычного пользователя, а «глазами» поисковика. Для этого нажимаем сочетание клавиш Сtrl+U (для браузеров Firefox и Chrome) и видим следующую картину (см. изображение):

Непонятные символы вместо текста в браузере

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

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

  1. Кодировка (или “Charset”) – соответствие набора символов набору числовых значений. Нужна для “сливания” информации в интернет, т.е. текстовая информация преобразуется в биты данных;
  2. Кодовая страница (“Codepage”) – 1 байтовая (8 бит) кодировка;
  3. Количество значений, принимаемое 1 байтом – 256 (два в восьмой).

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

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

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

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

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

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

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

Наши новогодние скидки

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

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

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

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

Непонятные символы вместо текста в браузере

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

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

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

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

В любой операционной системе имеется таблица символов, ее не нужно докачивать, устанавливать – это данность свыше, которая располагается по адресу: “Пуск-программы-стандартные-служебные-таблица символов”. Это таблица векторных форм всех установленных в Вашей операционной системе шрифтов.

Непонятные символы вместо текста в браузере

Выбрав “дополнительные параметры” (набор Unicode) и соответствующий тип начертания шрифта, Вы увидите полный набор символов, в него входящих. Кликнув по любому символу, Вы увидите его код в формате UTF-16, состоящий из 4-х шестнадцатеричных цифр (см. изображение).

Непонятные символы вместо текста в браузере

Теперь пара слов о том, как убрать кракозябры. Они могут возникать в двух случаях:

  1. Со стороны пользователя — при чтении информации в интернет (например, при заходе на сайт);
  2. Или, как говорилось чуть выше, со стороны веб-мастера (например, при создании/редактировании текстовых файлов с поддержкой синтаксиса языков программирования в программе Notepad++ или из-за указания неправильной кодировки в коде сайта).

Рассмотрим оба варианта.

Непонятные символы вместо текста в браузере

Также проверьте во всех вкладках, чтобы локализация была “Россия/русский” – это так называемая системная локаль.

Если Вы открыли сайт и вдруг поняли, что почитать информацию Вам не дают иероглифы, тогда стоит поменять кодировку средствами браузера (“Вид — Кодировка”). На какую? Тут все зависит от вида этих кракозябр. Ориентируйтесь на следующую шпаргалку (см. изображение).

Непонятные символы вместо текста в браузере

Чтобы такого не происходило, заходим в редактор Notepad++ и выбираем в меню пункт “Кодировки”. Именно он поможет преобразовать имеющийся документ. Спрашивается, какой? Чаще всего (если сайт на WordPress или Joomla), то “Преобразовать в UTF-8 без BOM” (см. изображение).

Непонятные символы вместо текста в браузере

Сделав такое преобразование, Вы увидите изменения в строке статуса программы.

Непонятные символы вместо текста в браузере

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

Для этого необходимо прописать “внаглую” (в шапку сайта, т.е, как частенько, в файл header.php) между тегами <head> </head> следующую строчку:

Прописав такую строчку, Вы заставите браузер правильно интерпретировать кодировку, и иероглифы пропадут.

Также может потребоваться корректировка вывода данных из БД (MySQL). Делается сие так:

mysql_query(‘SET NAMES utf8’ );
myqsl_query(‘SET CHARACTER SET utf8’ );
mysql_query(‘SET COLLATION_CONNECTION=»utf8_general_ci'» ‘);

Как вариант, можно еще сделать ход конём и прописать в файл .htaccess такие вот строчки:

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

Ну, вот и практическая часть статьи закончена, осталось подвести небольшие итоги.

Послесловие

Сегодня мы познакомились с таким понятием, как кодировка текста. Уверен, теперь при возникновении каракулей на мониторе компьютера Вы не спасуете, а вспомните все приведенные здесь методы и решите вопрос в свою пользу!

Простой 2 комментария

w3bsmes

RAX7

Судя по начертанию кириллицы шрифт "PT Sans" не загрузился, а значит используется один из локально установленных шрифтов (Helvetica, Arial, sans-serif [смотреть в настойках FF]). Скорей всего один из этих шрифтов был заменен другим или поврежден.

Видно, что у вас для латиницы используется какой-то нестандартный шрифт.

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

Если это не поможет - попробуйте там же, в about:profiles создать новый профиль и перезапустить браузер с ним. Если это поможет - в основном профиле идите в about:config и смотрите настройки шрифтов, обращая внимание на нестандартные значения, они выделены bold'ом.

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

flapflapjack

У меня такое было в Skype после того, как я в винду установил Эппловский шрифт SF UI (San Francisco UI).

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

Нагуглил, что если удалить шрифт SF UI, то все встанет на свои места. И это сработало.

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

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