Кодировки кириллицы и проблемы отображения сайтов

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

Для каждого национального алфавита существует свой набор кодировок.

Первый стандарт, исп. для представления символов в электронном виде - ASCII. Для хранения каждого символа в ASCII отводился 1 байт. Данный класс кодировок принято называть «однобайтовыми». Первоначально она включала 128 значений: все буквы латинского алфавита, знаки препинания, цифры. Первые 32 позиции в таблице этой кодировки отводились под специальные управляющие знаки - перевод строки, пробел, табуляция и т.п.

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

В середине 70-х в СССР был разработан стандарт для представления символов русского языка. Сейчас эта кодировка известна под названием KOI-8 (код обмена информацией 8-битовый). KOI-8 была принята Госстандартом в качестве базовой спецификации для обмена электронными документами на русском языке. Поэтому сегодня KOI8 является основной кодировкой для серверов, работающих на базе платформы UNIX, она же используется в качестве «формата по умолчанию» для электронной почты. После распада СССР стандарт претерпел некоторые изменения, разделился на 2 спецификации: KOI8-R для русского языка и KOI8-U для украинского.

Компания Microsoft, создавая ПО для работы в Интернет, пошла своим путем, предложив стандарт Microsoft code page 1251 (Windows 1251). Он получил широкое распространение благодаря популярности ОС Windows и http-сервера IIS.

Существуют еще устаревшие кодировки Microsoft/IBM code page 866 (CP866 или DOS) - базовая кодировка в ОС MSDOS и OS/2.

ISO-8859-5 - попытка унифицировать представление символов национальных алфавитов. ISO предложила набор кодировок серии 8859, каждая из которых описывала какой-либо язык: 8859-6 арабский, 8859-8 иврит, 8859-1 латиница. Русский вариант не получил широкого распространения.

MAC CP - кодировка ПК Apple Macintosh.

Существует еще Универсальный международный стандарт Unicode, созданный с целью объединить все существующие национальные алфавиты в одну кодировку. Для отображения каждого символа отводится не 1 а 2 байта, поэтому включает 65536 знаков. В это число входят не только буквы всех алфавитов мира, но и множество специальных символов - математических, музыкальных и т.п. Версия Unicode под названием UTF-8 принята в качестве основного стандарта в языке HTML 4.01 и является рекомендованной к применению.

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

Кракозябры

Для перевода документов из одной кодировки в другую служат специальные программы-перекодировщики. Многие современные html-редакторы также включают в себя функцию перекодировки текстов.

Последнее изменение: Четверг, 26 ноября 2015, 16:06