Ответ жадности неверен / неправильно сформирован UTF-8 - PullRequest
0 голосов
/ 03 июня 2019

В настоящее время я работаю над веб-сайтом, и мне нужно получить некоторые данные из некоторого API Когда я создаю Guzzle Request, получаю тело, которое выдает мне ошибку

'Неправильные символы UTF-8, возможно, неправильно закодированные'

$url = 'https://www.google.com/search?q=' . $this->domain;

$guzzleGet = $this->guzzle->get($url);

$google = $guzzleGet->getBody()->getContents());

$dom = HtmlDomParser::str_get_html($google); //This can't process the $google because of the Malformed UTF8

Итак, я провел некоторое исследование и нашел что-то, что должно работать. Но, это не работает, это похоже на ту же ошибку. Теперь у меня есть этот код

$url = 'https://www.google.com/search?q=' . $this->domain;

$guzzleGet = $this->guzzle->get($url);

$type = $guzzleGet->getHeader('content-type');
$parsed = Psr7\parse_header($type);

$google = mb_convert_encoding($guzzleGet->getBody()->getContents(), 'UTF-8', $parsed[0]['charset'] ?: 'UTF-8');

$dom = HtmlDomParser::str_get_html($google);

Что я делаю не так? Когда я записываю содержимое $google в журнал, он выглядит для меня как какой-то правильный HTML (как и ожидалось)

...