PHP iconv() - преобразование кодировки символов
Современный сайт представляет собой одну или несколько HTML-страниц. Он может быть разработан как есть, и быть неизменными всегда. Страницы сайта могут также создаваться на лету. PHP iconv адаптирует HTML под нужный браузер в момент прихода посетителя. В любом случае каждая страница должна указать свою кодировку в секции HEAD.
Кодировка страницы имеет два аспекта разнесенные во времени, которые следует учитывать. Процесс разработки: хостинг у разработчика, и он соответствует инструментальным средствам. Процесс эксплуатации: хостинг оптимизируется под сайт и поток посетителей.
Множественность кодировки
Любой сайт - это информационная структура на хостинге в конкретной кодировке. Посредством PHP iconv любая кодировка преобразуется к нужной. В ходе разработки и модернизации любой сайт - это функциональность на страницах используемой системы управления сайтом или текст в конкретной кодировке в избранном текстовом редакторе.
По общему правилу, кодировка ресурса, настройки хостинга, кодировка редактора HTML-страниц, файлов объектов, скриптов, таблиц CSS и других файлов ресурса должны совпадать.
В приведенном примере позиция (1) является современным способом указания нужной кодировки страницы. В ней можно обозначить "windows-1251" или "UTF-8". Можно сослаться на иную кодировку.
Позиции (2.1) и (2.2) взаимно исключают друг друга. Нужно выбирать что-то одно. Предпочтительно использовать вариант указания кодировки конструкцией (1). В этом случае всегда можно будет использовать функцию iconv PHP: windows 1251 код легко привести в UTF-8.
Особенности учета кодировки
Недостаточно указать кодировку страницы. Даже когда разработка веб-ресурса идет полным ходом: хостинг и сайт находятся в одной кодировке. Инструментальные средства, прежде всего редактор, просмотрщик и тестер PHP, - все работает без проблем и сбоев. Но может возникнуть непредвиденная ситуация.
Проблемы с кодировкой обычно возникают на стыке хостинга, веб-ресурса и источника или получателя. В большинстве случаев это база данных.
Если при чтении в переменных нет ничего или есть странные знаки, нужно просто выполнить преобразование PHP iconv: $sDst = iconv('UTF-8', 'CP1251', $sSrc) или $sDst = iconv('CP1251', 'UTF-8', $sSrc).
Проблема снимется сама собой. База данных не единственный источник проблем с кодировкой. Чтение сторонних сайтов, например с целью парсинга или поиска информации, может привести к получению информации в любой кодировке. Как этого избежать?
PHP iconv позволяет решить проблему преобразования информации из любого источника в нужную кодировку.
Похожие статьи
- Кодировка ASCII. Таблица кодировки ASCII
- MySQL – это инструмент для хранения данных любого интернет-ресурса. Что он собой представляет?
- Ошибка 500 – это не проблема!
- Как поставить якорь HTML. HTML-якорь на странице
- Веб-сервер (Web Server): для чего он нужен, как устроен и как работает
- Какие бывают виды программистов? Виды деятельности программиста
- PHP: глобальная переменная в функции