Есть ли способ исправить символы, которые отображаются некорректно после запуска этой разметки 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);
Оригинальный выпуск: Г-н Смит из Бангкока отпраздновал «Классику с современной женщиной».
Новый выпуск документа: г-н Смит из Бангкока отпраздновал «Классику с современной женщиной».
UTF-8 without BOM
кодировки UTF-8 without BOM
. Добавьте этот заголовок поверх своего скрипта:
header("Content-Type: text/html; charset=UTF-8");
[EDIT]: Как сохранить файлы как UTF-8 без спецификации:
В запросе OP, как вы можете сделать в Windows:
у меня была та же проблема, но когда я добавил
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-окон.