Кодировка

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

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

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


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

Давно, давно, в стародавние времена :) Если быть точным в семидесятые годы появилась операционная система UNIX. Её сразу адаптировали к русскому языку. Чуть не сказал - привели к присяге :) И получила она название - KOI-8, это и была первая кодировка.

Затем появились персональные компьютеры. Появилась и новая операционка MS-DOS. Компания Microsoft, создавшая эту операционку, почему то забила на русских и сделала свою русификацию, не воспользовавшись предыдущей кодировкой. Назвали её - DOS.

Примерно в то же время в России появились и компьютеры Macintosh. Что привело к созданию ещё одной кодировки - MAC.

После первого косяка с кодировкой, (помните, что они забыли про уже созданную русскую кодировку) компания Microsoft не остановилась на достигнутом. Они забыли не только про нашу, но и про свою кодировку. И когда выпустили новую операционку Windows 3.0, тут же сделали и новую кодировку - windows-1251.

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

В общем я так понял на мнение самой России все уже давно забили. Извините, что вёл рассказ в произвольной форме. Но без смеха сквозь слёзы смотреть на данную ситуацию невозможно :)


На данный момент появилась ещё одна кодировка - UNICOD (юникод, UTF 8, UTF 16). Вот это уже более продвинутая кодировка. Дело в том что количество знаков там практически не ограничено, точнее очень много. Сколько именно сказать не могу. Кто то кричит больше миллиона, кто то вопит больше миллиарда. В официальных источниках вообще другие цифры. В общем не важно, главное, что много :) Можно хоть китайскими иероглифами писать. И эту кодировку очень удобно использовать, если у вас сайт на нескольких языках. Если же ваш сайт на русском и переделывать его вы не собираетесь, то делайте на windows-1251. На данный момент это самая распространённая кодировка. Единственный минус юникода то, что процессора немного больше жрёт. А так всё в порядке. У меня сайт именно на нём и сделан.

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


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

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

В общем пользуйтесь только при крайней необходимости. Пускай лучше пара посетителей не смогут почитать ваш сайт. Чем вот такие критические ошибки.

 

Немного рекламы :)

Copyright, design, ideas © Mihail. При копировании материалов, ссылка на сайт "Seozar.ru" обязательна. Контакты - admin@halych.ru
Тариф «Первый»: 2 сайта, 1 Гб, 2 MySQL, 2 FTP