Диагностика и решение проблемы с кодировкой UTF-8 в PHP

    При обработке веб-страницы средствами PHP возникает проблема с корректным отображением текста в кодировке UTF-8. Исходный код страницы явно указывает на использование UTF-8 через мета-тег <meta charset="utf-8">, а файл сохраняется в этой кодировке через редактор Sublime Text (опция "Save with encoding > UTF-8").

    Проблемное поведение

    При выполнении PHP-скрипта наблюдаются следующие симптомы:

    • Функция iconv() выдаёт предупреждение: "Detected an illegal character in input string"
    • Вывод через mb_convert_encoding() показывает искажённые символы
    • Функция mb_detect_encoding() определяет кодировку как UTF-8
    • Прямой вывод переменной $page отображает "битые" символы

    Структура тестового скрипта

    Код размещён в HTML-странице следующей структуры:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
    </head>
    <body style="margin: 25px;">
       <?php /* PHP-код для тестирования */ ?>
    </body>
    </html>

    Ключевой вопрос

    Несмотря на явные указания использовать UTF-8 как в разметке страницы, так и при сохранении файла, результат остаётся некорректным. Это вызывает закономерный вопрос: что именно происходит не так и как решить эту проблему?