Google и utf-8

Статус
В этой теме нельзя размещать новые ответы.

dump1111

Участник
Регистрация
7 Июл 2009
Сообщения
266
Реакции
8
Вот код, который запрашивает у гугла выдачу:
Код:
<?php
$word='Привет ';
$url='http://www.google.ru/search?client=opera&rls=ru&rls=ru&q='.urlencode(iconv("windows-1251","utf-8",$word)).'&sourceid=opera&ie=utf-8&oe=utf-8';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HEADER ,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR,realpath(".").'/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE,realpath(".").'/cookies.txt');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1) Gecko/20061010 Firefox/2.0;MEGAUPLOAD 1.0");
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec ($ch);
curl_close($ch);
echo $result;
?>
При этом в браузер он выводит страницу в неправильной кодировке.
Какие-то крокозябры, хотя гугл отсылает в http-загловке charset=UTF-8
но браузер почему-то сразу переключает на ISO-8859-5. А почему так происходит?
И ещё: функция strppos не находит в полученном результате ничего. Как сделать так, чтобы она работала?
 
В самом начале файла поставь

header("Content-Type: text/html; charset=UTF-8");
 
Или можно переконвертировать входящих данных в необходимую вам кодировку, допустим из UTF-8 в WINDOWS-1251:

Код:
<?php
$word='Привет ';
$url='http://www.google.ru/search?client=opera&rls=ru&rls=ru&q='.urlencode(iconv("windows-1251","utf-8",$word)).'&sourceid=opera&ie=utf-8&oe=utf-8';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HEADER ,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR,realpath(".").'/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE,realpath(".").'/cookies.txt');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1) Gecko/20061010 Firefox/2.0;MEGAUPLOAD 1.0");
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec ($ch);
curl_close($ch);

[B]$result = iconv('UTF-8', 'WINDOWS-1251', $result);[/B]

echo $result;
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху