Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Пара слов о&nb p;«крякозябрах»

 

Пара слов о&nb p;«крякозябрах»

 

 

«Крякозябры»

Ситуация, когда на загруженной веб-странице вместо нормального русского текста видны всевозможные «кракозябры», знакома, наверное, каждому интернетчику. Причина ее возникновения — путаница с различными существующими кодировками. Это проблема достаточно серьезна. Конечно, подавляющее большинство веб-страниц отображается абсолютно нормально. Тем не менее встречаются сайты, на которых невозможно прочесть ни одного русского слова.

загрузка...

 

 

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

Для начала, наверное, нужно вообще разобраться, что же такое кодировка. Под этим термином понимают специальную таблицу, в которой перечислены все возможные значения одного байта (всего их 256) и символы, соответствующие каждой цифре. Фактически, текстовая информация (как и любая другая) поступает с веб-сервера на компьютер пользователя в цифровом виде (последовательность байтов). При этом каждый символ — это число от 0 до 255. Браузер сверяется со специальной таблицей и выводит на экран не цифры, а соответствующие им буквы. Таким образом, пользователь видит перед собой нормальный текст.

Первые 128 символов стандартизированы. Они одинаковы абсолютно во всех кодировках по всему миру. Если говорить о символах, то это весь английский алфавит, цифры и основные знаки. Оставшиеся 128 позиций отданы «на откуп» национальным алфавитам и дополнительным символам. В подавляющем большинстве стран именно так все и есть. Однако в России существует не одна и даже не две национальные кодировки. Их ровно пять. Таким образом, если текст написан по-русски в одной кодировке, то в другой он будет выглядеть абсолютно беспорядочным набором разных знаков.

Многие читатели наверняка спросят: "Но почему в России так много разных кодировок?". Для ответа на этот вопрос придется совершить небольшой экскурс в историю. Все началось в 70-х годах прошлого века. Именно тогда на наших компьютерах (не персональных — их тогда еще не было) появилась операционная система UNIX. Естественно, ее адаптировали к русскому языку. Именно тогда и возникла первая кодировка, получившая название KOI-8. С тех пор она стала стандартом "де-факто" для всех UNIX-подобных операционных систем — например для Linux.

Кодировка KOI-8

Немного позже началось победное шествие персональных компьютеров. А вместе с ними огромное распространение получила операционная система MS-DOS. Ее разработчик, компания Microsoft, во время русификации не воспользовалась KOI-8, а придумала свою кодировку, получившую название DOS (кодовая страница 866). В этой таблице среди дополнительных символов появились элементы рамок, которые значительно облегчали рисование таблиц в различных текстовых редакторах. Это тоже способствовало распространению кодировки DOS. Кстати, примерно в то же время или немного позже на российский рынок вышли компьютеры Macintosh. Естественно, при русификации установленной на них операционной системы была создана еще одна таблица символов — MAC. Правда, нужно отметить, что она практически никогда не использовалась вследствие малого распространения самих «Макинтошей».

В 1990 году компания Microsoft выпустила новую операционную версию Windows 3.0. В ней поддержка национальных языков была встроена. Но вот что интересно — по каким-то причинам специалисты Microsoft не воспользовались уже существующей русской кодировкой DOS, а снова изобрели новую — Win (кодовая страница 1251). Скорее всего, это было сделано из-за введения в таблицу других дополнительных символов вместо рамок и тому подобных символов. Но достоверно о причинах появления кодировки Win мы, скорее всего, уже не узнаем.

Еще позже на проблему наличия нескольких национальных кодировок в России и некоторых других странах обратила внимание международная организация International Organization for Standardization, занимающаяся вопросами стандартизации. И опять же, вместо того чтобы за основу взять наиболее распространенную кодировку (на тот момент это была таблица Win), представители ISO выдумали свою (ISO 8859-5). Но практического применения она не получила. И хотя поддержка кодировки ISO есть во всех браузерах, наверное, не существует ни одного сайта, ее использующего.

Кодировка Win

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

А теперь, когда мы разобрались с разными кодировками, давайте рассмотрим, почему с ними возникают проблемы. Когда на экране вместо нормальной веб-страницы отображаются «кракозябры», это значит, что сервер и браузер не смогли «договориться» между собой — первый отправляет текст в одной кодировке, а второй — выводит его в другой. Естественно, при правильной настройке веб-сервера такого не происходит. Он просто указывает, в какой кодировке высылается текст. Браузер «понимает» это и настраивается соответствующим образом. Так все выглядит в идеале. Кроме того, для этого пользователь должен включить режим автовыбора кодировки в своем браузере. Если же он этого не сделал, то веб-страница будет всегда отображаться в соответствии с установленной в настройках таблицей. А что, если сервер отправит страницу в кодировке KOI-8, а браузер настроен на Win? В этом случае на экране вместо русского текста будет отображен беспорядочный набор символов. Но справиться с этим легко. Достаточно переключить браузер в нужную кодировку или установить режим автовыбора, чтобы страничка была отображена нормально.

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

Выбираем кодировку в Internet Explorer

Гораздо хуже, когда незнающие веб-мастера пытаются решить проблему с кодировками с помощью специального мета-тега charset, предназначенного для явного указания используемой на данной странице таблицы символов. Дело в том, что этот тег имеет приоритет перед указаниями веб-сервера. А поэтому браузеру указывается, что для отображения текста нужно использовать кодировку, заданную в charset. На первый взгляд, никаких проблем тут возникнуть не должно. Но на самом деле... На самом деле, сейчас все большее распространение получают серверы, определяющие кодировку запроса браузера и автоматически преобразовывающие текст в соответствии с этой таблицей. Что же получается? Сервер действительно перекодирует веб-страничку в соответствии с настройками браузера пользователя. Но он не может изменить значение мета-тегов. Таким образом, браузер получает указание, что отображать текст нужно с использованием таблицы, явно заданной веб-мастером, но получает его в другой кодировке. А поскольку мета-теги имеют приоритет даже над установками браузера, то пользователь лишается всякой возможности прочитать информацию.

Итак, как мы видим, в случае грамотной настройки сервера и отсутствии на веб-странице мета-тега charset русский текст будет отображаться корректно в подавляющем большинстве случаев. И вообще, согласно различным исследованиям, порядка 95-98% всех сайтов в Рунете написаны с использованием кодировки Win. Соответственно, многие посетители Сети даже не пользуются режимом автовыбора таблицы символов. Ведь вполне достаточно просто установить кодировку Win, чтобы без всяких проблем просмотреть подавляющее большинство сайтов. Поэтому начинающим веб-мастерам также стоит использовать эту таблицу символов при создании страниц, но не задавать ее явно с использованием мета-тегов.

Ссылки по теме




Статья получена: hostinfo.ru
загрузка...

 

 

Наверх


Постоянная ссылка на статью "Пара слов о&nb p;«крякозябрах»":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

Kia Sportage, Hyundai Tucson: Два сапога — пара?

В тесте участвуют автомобили: Kia Sportage, Hyundai Tucson На первый взгляд выбор героев этого теста — Hyundai Tucson и Kia Sportage — может показаться странным: имеет ли смысл сравнивать автомобили-клоны? Однако за разительным внешним и конструктивным сходством этих кроссоверов проступают определенные различия в исполнении, уровне комплектации, удобстве управления.

» Корейские автомобили - 5269 - читать


О blog-ах замолвим пару словечек

Что такое blog? Что такое blog? Это web-страница, содержащая личные заметки, дневник, или ленту новостей со ссылками.

» Юзабилити - 2219 - читать


CSS: Пара слов о&nb p;шрифтах

Каждый, кто когда-либо создавал веб-страницу, наверняка помнит, что для выделения текста можно использовать некоторые модификации шрифта с помощью тегов < B>, < SMALL>, <

» Интересное в сети - 1456 - читать


Пара слов по-немецки с русским акцентом

С 8 по 10 октября в немецком городе Мюнхене прошла международная коммерческая выставка недвижимости « Экспо Реал». Ведущие специалисты рынка со всей планеты, а также банкиры и страховщики приехали знакомиться, заключать контракты, строить и зарабатывать.

» Недвижимость регионов - 1637 - читать


Пара слов о кактусах

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

» Виды туризма - 1144 - читать



Статья на тему Интернет » Интересное в сети » Пара слов о&nb p;«крякозябрах»

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© RusAdvice.Org, 2006-2014, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия RusAdvice.Org