Сучасний сайт являє собою одну або кілька 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', ' CP 1251', $ sSrc ) або $ sDst = iconv (' CP 1251', ' UTF -8', $ sSrc ). Проблема зніметься сама собою. База даних не єдине джерело проблем з кодуванням. Читання сторонніх сайтів, наприклад з метою парсинга або пошуку інформації, може призвести до отримання інформації в будь-якому кодуванні. Як цього уникнути? PHP iconv дозволяє вирішити проблему перетворення інформації з будь-якого джерела в потрібне кодування.