Кривая кодировка в браузере UTF-8.

программирование программы php кодировка

Проблема очень интересная, получаю текст в UTF-8 использую класс DOMDocument (PHP) для разбора документа. Результат получаю в одну строку все соединяю и выводу в браузер получаю кривую кодировку, при этом, внимание! Выводимый текст 100% UTF-8, в браузере установлен UTF-8. А все равно все криво.
Далее копирую текст из браузера открываю Notepad++ документ в ANSI кодировке (если не ошибаюсь это ISO-8859-1 она же cp1252). Вставляю. Затем выбираю насильно что это UTF-8 и NP++ мне все корректно показывает.
Вопрос почему браузер не может показать UTF-8 как положено а показывает его в режиме ANSI? При этом Content-type отправлен с указанием кодировки UTF-8.

Примечание:
К сожалению ни файла ни ссылки предоставить не могу. А могу дать лишь то что получаю при работе скрипта:
Деревянная плакетка для дарственной надписи

Примечание:
Если это вставить в файл с кодировкой ANSI а затемпереключить на UTF-8 например в NP++ то сможете прочитать эту фразу :). Замечу что аналогичные операции в браузере к такому не приведут :) (браузер любой)

Примечание:
Если интересно как я его получаю то вот код:
$dom = new Zend_Dom_Query($page);
$content = '';
header('Content-Type: text/html; charset=utf-8');
foreach ($dom->query('div.item') as $item) {
$content .= $item->nodeValue;
}
echo $content;

$page это содержимое web-страницы.

Примечание:
@Epsiloncool
Дело тут не в HTML'е так таковом. А вообще о данных выведенных в браузер я посылаю заголовок text/plain;charset=UTF-8, и точно никакой меты нет.
Но ваш ответ родил новую идею. Возможно это сам Apache портит картину? Как думаете. Может он такую подлость делать. (Сейчас проверить, сходу, гипотезу не могу)

Примечание:
@Babusha
Во-первых причем в данном вопросы претензии к PHP?
Во-вторых если у тебя в PHP коде бордель то это твои проблемы голубок. Наведи порядок у себя в черепе, а потом попытайся ответить достойно и по теме на поставленный вопрос. Да и чуть не забыл, о твоем невежестве еще и на постой включенный капс говорит. Удачи в самообразовании членистоногий.
Ответы:
Файл или ссылку в студию.
Попробуйте браузер настроить:
1. Opera: View->Encoding
2. Chrome: Tools->Encoding
Получаете при работе скрипта вы текст в кодировке utf-8 (судя по приведённому примеру).
А насчёт вывода я не совсем понял - а где там <html>, <head> ?
Если даже вы в заголовке выдаёте charset=utf-8, то нет никакой гарантии, что выведенное <meta> с кодировкой windows-1251 его не переплюнет. Так что сделайте просмотр HTML-кода в браузере и убедитесь, что в <meta> тоже utf-8 указана.
Зло пожаловать в похапе-бардель, похапе-блядь, теперь ты должна НАВЕЧНО запомнить одну вещь, PHP НЕ УМЕЕТ РАБОТАТЬ С ЮНИКОДОМ!


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.