Я использую PHP html_simple_dom.
Целевой сайт использует UTF-8. Мой php и контекст потока настроены на использование UTF 8.
Элемент (который я проверяю в браузере) имеет innerHTML "AAA ' BBB"
, по крайней мере, при его рендеринге с использованием моих браузеров Firefox и Chrome.
Однако мой PHP-скрипт всегда выбирает эту строку как "AAA ' BBB"
.
Я могу исправить это, используя htmlspecialchars_decode ($ string, 1), но я действительно хочу знать, почему скрипт PHP, или, скорее, веб-сайт («неправильно»), кодирует строку в первую очередь при посещении ее с помощью моего PHP, что явно установлен на UTF
header('Content-Type: text/html; charset=utf-8');
define("CONTEXT", stream_context_create(
array(
"http" =>
array(
"header" => 'Content-Type: text/html; charset=utf-8'
// also tried 'header' => 'Accept-Charset: UTF-8'
)
)
)
);
целевой объект читает UTF-8 - http://mtggoldfish.com.cutercounter.com/
$ html = file_get_html ($ url, false, CONTEXT);
// do things, blurts out every "'" as encoded '