Исправить неправильно отображаемую кодировку в html-документе с помощью php

Есть ли способ исправить символы, которые отображаются некорректно после запуска этой разметки html через phpquery :: newDocument? Есть двойные кавычки вокруг «Классы с современной женщиной» в исходном документе, которые в конечном итоге отображаются неправильно после создания нового документа с помощью phpquery.

//Original document is UTF-8 encoded $raw_html = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body><p>Mr. Smith of Bangkok celebrated the “Classics with modern Woman”.</p></body></html>'; print($raw_html); $aNew_document = phpQuery::newDocument($raw_html); print($aNew_document); 

Оригинальный выпуск: Г-н Смит из Бангкока отпраздновал «Классику с современной женщиной».

Новый выпуск документа: г-н Смит из Бангкока отпраздновал «Классику с современной женщиной».

    1. Вам нужно сохранить страницу с UTF-8 without BOM кодировки UTF-8 without BOM .
    2. Добавьте этот заголовок поверх своего скрипта:

      header("Content-Type: text/html; charset=UTF-8");

    [EDIT]: Как сохранить файлы как UTF-8 без спецификации:

    В запросе OP, как вы можете сделать в Windows:

    1. Загрузите Notepad ++ . Это потрясающий текстовый редактор, который вы должны использовать.
    2. Установите его.
    3. откройте PHP-скрипт в Notepad ++, который содержит этот код. Страница, на которой вы все кодируете. Да, этот файл на вашем компьютере.
    4. В Notepad ++ из меню «Кодирование» вверху выберите «Преобразовать в UTF-8 без спецификации».
    5. Сохраните файл.
    6. Загружайте на свой веб-сервер по FTP или независимо от того, что вы используете.
    7. Теперь запустите этот скрипт.

    у меня была та же проблема, но когда я добавил

     ob_start(); 

    в первую очередь

     ob_end_flush(); 

    до конца он, кажется, работает

    У вас это есть в элементе <head> :

     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 

    Следующим курсом будет использование объектов HTML для отображения этих символов.

    У меня была такая же проблема с использованием класса phpQuery. Проблема IS, как упоминалось выше, в верхнем голосовавшем ответе – файл сценария сохраняется как UTF8-с спецификацией.

    Поскольку у меня не было никаких шансов получить блокнот ++ на mac osX,

    каждый вывод, который я подготовил, как этот utf8_decode()

    Спецификация предназначена для MS-окон.