PHP уроки
ПРОСТО самая лучшая обучалка PHP!
  • Студия LPHPRU
  • Уроки PHP
  • Контакты
  • Помощь
Меню
  • PHP - с чего начать?
  • Уроки PHP
  • Функции PHP
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • JQuery уроки
  • Галерея
Календарь
Март (2021)
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031    
В продаже

  • Что нового?

    • Тест №2
    • Тест №1 для разработчиков
    • PHP 5.6 RC1
    • SQL. Как cкопировать данные одной колонки в другую, в той же таблице
    • GRUB изменить порядок загрузки OS в Linux
    • SSH - вход на сервер без ввода пароля
    • PhpMyAdmin - проблема с загрузкой большого файла на сервер
  • Комментарии

    • тут нечего не понятно
    • Может уже пора на WebStorm переходит...
    • Здравствуйте. 10 лет пользуюсь др...
    • Была такая проблема, решалась пе...
    • Возможно с течением времени этот...
  • TOP-5

    • Метод POST (2939962)
    • Привет, МИР! (907179)
    • Метод GET (661917)
    • Операторы (601792)
    • Firefox уже запущен, но не отвечает... (347164)

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

Главная » Информация » Кодировка UTF-8
PHP урок № 329

UTF-8

PHP урок № 329

UTF-8 (от англ. Unicode Transformation Format — формат преобразования Юникода) — в настоящее время распространённая кодировка, реализующая представление Юникода, совместимое с 8-битным кодированием текста. Нашла широкое применение в операционных системах и веб-пространстве.
Текст, состоящий только из символов Юникода с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байт (реально только до 4 байт, поскольку использование кодов больше 221 не планируется), в которых первый байт всегда имеет вид 11xxxxxx, а остальные — 10xxxxxx.
Проще говоря, в формате UTF-8 символы латинского алфавита, знаки препинания и управляющие символы ASCII записываются кодами US-ASCII, a все остальные символы кодируются при помощи нескольких октетов со старшим битом 1. Это приводит к двум эффектам.
Даже если программа не распознаёт Юникод, то латинские буквы, арабские цифры и знаки препинания будут отображаться правильно.
В случае, если латинские буквы и простейшие знаки препинания (включая пробел) занимают существенный объём текста, UTF-8 даёт выигрыш по объёму по сравнению с UTF-16.[1][2]
На первый взгляд может показаться, что UTF-16 удобнее, так как в ней большинство символов кодируется ровно двумя байтами. Однако это сводится на нет необходимостью поддержки суррогатных пар, о которых часто забывают при использовании UTF-16, реализуя лишь поддержку символов UCS-2.[1]
Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком и реализован в Plan 9[3]. Сейчас стандарт UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D.
Википедия.

Изменить кодировку документа на UTF-8

Часто случается так, что преобразовать документ в кодировку UTF-8, привычными способами не получается. Такие способы как например установка мета тега:
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
не возимеют должного результата. Тому причиной может служить настройки web-сервера, в данном случае Apache. Для того чтоб обойти или точнее сказать перенастроить для отдельной директории некие параметры, применяется специальный файл с именем .htaccess.
.htaccess (от. англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла.

Википедия.
Выход довольно прост, для того что бы документ в кодировке UTF-8, корректно отображался:
  1. Нужно прописать мета тег <meta http-equiv="content-type" content="text/html;charset=utf-8"/> в теги head
  2. Создать файл .htaccess именно с точкой в начале. Это очень просто делается с помощью бесплатной програмки Notepad++
  3. И вписать в этот файл строку AddDefaultCharset UTF-8
При создание файла конфигурации в программе Notepad++, выбирете в меню пункт "Кодировки" -> Кодировать в UTF-8(без BOM). После чего, впишите строку AddDefaultCharset UTF-8 как содержимое файла и сохраните его под именем .htaccess, затем скопируйте файл в директорию, где находятся документы в формате UTF-8. После чего ваши кракозябры должны отображаться нормально (правильно).
И ещё важно сказать, что если вы меняете кодировку страницы на utf-8, а прежде она у вас была windows-1251 или ещё какая, то весь русский текст станет не читаем и вы не сможете его восстановить даже если обратно поменяете кодировку. Чтобы этого не произошло, меняйте кодировку осторожно, т.е. скопируйте код страницы и её содержимое, только после этого смените кодировку и сохраните файл. Затем вставьте, то что вы скопировали назад и сохраните. Таким образом вам не придётся вспоминать комменты к коду и восстанавливать русскоязычные пункты страницы. Если русского текста нет в коде странице, то меняйте смело кодировку.
Полезные ссылки:
Здесь можно посмотреть всё многообразие кодировки utf8
Мнемоники в разном представлении

SETTER © LPHP.RU
Администрация сайта
18.08.2010 20:48:57

Понравился урок? Не пропусти следующий!
Рекомендованные уроки этого раздела:
  • Setter
  • QR-коды
  • Кодировка UTF-8
  • Исходящие ссылки

Напишите свой комментарий
Ваше имя
Сообщение
Введите цифры с картинки:
 

Комментарии

seventh 29.12.2010 01:21:21
Спасибо
anonymous 23.03.2012 19:39:37
спс
Николай 31.12.2012 16:13:11
Спасибо
вововов 19.05.2013 20:25:45
Спасибо, настройка htaccess помогла!!!
Сергей 13.10.2013 11:53:13
Очень умно.. что простым смертным не понять
David 21.05.2014 14:39:23
Спасибо, настройка htaccess помогла
  • Яндекс.Метрика Здесь находится аттестат нашего WM идентификатора 185571665285
  • "LPHPRU" © 2009-2021