Юникод – универсальный стандарт кодировки символов, которая позволяет представить знаки практически всех языков, и символов.
UTF-8 – кодировка позволяющая представить символы юникода и обеспечить наилучшую совместимость со старыми программами, которые используют 8 –ми битное представление символа.
Преимущества кодировки UTF-8
В юникоде содержится более 100 000 символов – это символы, практически всех языков мира, специальные символы, типографические знаки, пиктограммы и различные знаки, и ещё многое другое.
Некоторые из символов юникода, вы можете взять прямо из таблицы символов Windows (Пуск => Все программы => Стандартные => Служебные => Таблица символов) и вставить в любой программе поддерживающей юникод.
Юникод поддерживают все современные языки программирования, все поисковые машины, все современные веб сервера, FTP сервера и т.д., все базы данных, браузеры и текстовые редакторы. Ну, а если вы столкнулись с проблемой отображения юникода – это значить, что вам пора обновить или сменить эту программу.
Используя UTF-8, вы получаете огромное преимущество, вам теперь не нужно беспокоится об отображении страницы на нескольких языках. Например, пользователи вашего сайта могут быть с разных стран, и заполнять формы на разных языках.
Для сравнения – старые кодировки поддерживают всего до 256 символов, что не позволяло использовать сразу несколько языков одновременно.
Как использовать UTF-8
Указывать правильную кодировку нужно везде где это требуется, например при работе сайта вам нужно во первых указать кодировку в мета тегах страницы, кодировку в веб сервере, который отправляет соответствующий заголовок, и возможно понадобится указать в PHP модуле.
При сохранении файлов в UTF-8 следует отключать сохранение с BOM (Byte Order Mark).
BOM – это три служебных байта, которые записываются в начало файла, и обозначают что файл сохранён в кодировке UTF-8, но данное действие не обязательно, и более того, это может вызвать определённые проблемы при отображении в некоторых редакторах.
При использовании юникода не стоит забывать о том, что браузеры и другие программы отображают только те символы юникода, которые содержатся в используемых шрифтах. Но данное ограничение касается не только UTF-8, но и любой другой кодировки.
Для корректной работы PHP с UTF-8, вместо стандартных функций по обрезанию, разбиению или объединению текста нужно использовать их аналоги из библиотеки Multibyte String Functions.
При использовании UTF-8, немного увеличивается размер файла относительно более старых кодировок, например Window-1251, но, учитывая современную скорость работы интерет соединений – этот незначительный фактор можно не брать во внимание.
Для отображения юникода следует использовать именно кодировкуUTF-8, так как эта кодировка лишена недостатков имеющихся в её аналогах, например, она совсем не сильно увеличивает размер страницы, имеет совместимость с 8 –ми битным шифрованием, корректно отображается во всех программах.