А документ в какой кодировке сохранен? А сервер в какой кодировке отдает? Заголовки, которые вы выставили - это для браузера, чтобы он знал, как читать. А вот то, как записано - это серверная забота. Если данные на самом деле не в UTF-8, а браузеру сказано, что в UTF-8, он прочитает их так, как сказано, а не так, как на самом деле. И получится хрень. --- Добавлено --- И да. Щас будет бомбеж. Спойлер: АЖ ПРИПЕКАЕТ Ды какого ж перехрена все, кто приходят на форум последние месяца два, постят листинги кода в виде скриншотов? Какого ж блин, ХРЕНА? На кой, блин ж хрен? Что это за поветрие такое, текстовые данные в виде картинок оформлять? У нас тут филиал раннего пикабу, что ли? Избыточность пздц, ажтрисьот, читабельность - полная хрень, на телефоне так вообще пздц удобно. Нет, не удобно, это сарказм. Вы сговорились что ли? Или где-то завирусился гайд, где рекомендуют именно так выкладывать листинги кода? На форуме есть возможность вставлять код с подсветкой и сохранением форматирования, ничего сложного ж. И все счастливы. Но картинки - это перебор, это пздц просто. Накипело, фух. Где мой жопный охладитель?
@ВероникаК расскажи почему код изображением вставлен? Интересно выяснить причину --- Добавлено --- Как подсказали выше, нужно смотреть кодировку файла, ещё в браузере, например в google chrome, есть по F12 инструменты для разработчика, там во вкладке network можно нажать на запрос к веб-серверу и посмотреть заголовки. Например вроде в denwer сборки, веб-сервер Apache настроен отдавать всё в кодировке windows-1251.