Диагностика и решение проблемы с кодировкой 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 как в разметке страницы, так и при сохранении файла, результат остаётся некорректным. Это вызывает закономерный вопрос: что именно происходит не так и как решить эту проблему?