textpub.neocities.org . [ записки про сайтостроение ]
Из моих записок про сайтостроение. Оригинальный пост в ЖЖ написан 31.03.2018 г.
Третьей проблемой при создании сайта из HTML-страниц на бесплатных хостингах в конце 90-х и начале нулевых была проблема с кодировкой страниц.
Во-первых, создавать HTML-страницы на сайте можно тремя путями: 1) загрузка созданных у себя на компьютере HTML-страниц по FTP с помощью специальных сторонних программ, не связанных с бесплатным хостингом; 2) загрузка созданных у себя на компьютере HTML-страниц через веб-интерфейс, предоставленный бесплатным хостингом; 3) создание HTML-страниц в редакторе бесплатного хостинга через веб-интерфейс.
Не каждый бесплатный хостинг предоставляет пользователю все три пути загрузки файлов на сайт. На любом из этих путей бесплатный хостинг может перекодировать загружаемые HTML-страницы так, как вздумается владельцам хостинга.
Вообще, откуда возникла проблема с кодировками? Так как персональные компьютеры начали завоевание мира из англоязычной части, то в начале появилась кодировка, в которой учитывались только символы английского алфавита. Когда персональные компьютеры появились в других частях света, в частности в России, появилась нужда в кодировке, покрывавшей бы местные алфавиты, например русский алфавит. Каждый расширял первоначальную кодировку с английским алфавитом так, как ему хотелось, в итоге кодировок с русским алфавитом появилась куча и они были несовместимы.
В конце концов, чтобы избавиться от проблем с большим количеством кодировок, был создан универсальный стандарт кодирования символов, он же Юникод (Unicode). История кодировок происходила не так упорядоченно, как я описал, этапы накладывались друг на друга и часто происходили параллельно. Например, Юникод был впервые предложен в 1991 году и развивается по сей день. Юникод имеет несколько форм представления, например UTF-8, UTF-16 и так далее.
Решая проблемы, появляющиеся при создании сайтов, при выборе из нескольких вариантов решения полезно полагаться на статистику ведь эти решения уже приняли тысячи сайтостроителей до нас. Юникод завоевал 50 % рынка к 2010 году, то есть половина страниц сайтов была выложена в интернет в этой кодировке (источник). На сегодня Юникод (UTF-8) имеет подавляющее преимущество перед другими кодировками более 90 % всех страниц (источник).
Единственный минус использования Юникода в том, что эта кодировка увеличивает размер HTML-страницы. При использовании UTF-8, если страница написана в английском алфавите, то по сравнению, к примеру, с Windows-1251 размер страницы не увеличится. Если страница написана в русском алфавите, размер страницы увеличится в 2 раза. Это происходит из-за того, что символы из расширенной части кодовой таблицы представляются большим числом байт. По стандарту в UTF-8 код символа может занимать от 1 до 4 байт. В случае сайта с текстами на русском языке размер страниц в UTF-8 по сравнению с Windows-1251 увеличится меньше, чем в два раза, потому что хоть сами тексты на русском языке, но часть файла занимают теги HTML, состоящие из букв английского алфавита.