в википедии переменной присыаиваеться значение гет методом и производится поиск в энциклопедии.проблема вот в чем.если этой переменной этой присвоить значение на английском ,то результат поиска она возвращает.А вот если присвоить кириллическое значение то уже ничего не возращает.Подозреваю что кириллица во что то просто переделываеться.пробывал басе64.не помогло. Вот ссылка 'ru.m.wikipedia.org/w/index.php?title=Special%3ASearch&search=' если вставить просто в адресную строку то все тянет. Я же пробую это проделать через сирл. Вопрос вот в чем во что переделовать кириллицу для добавления ее к переменной? Может кто сталкивался с подобным?
поторопился... Делаю так $url = $_POST['url']; $urlis = urlencode($url); echo $urlis; $urlisi = 'http://ru.m.wikipedia.org/w/index.php?title=Special%3ASearch&search='; $urls =$urlisi."".$urlis; а в ответ тишина... Из формы текст приходит в утф8. Пробывал функцией iconv переделывать выходили крякообразы.после просто в форме указал тип кодировки.толку ноль. Хотя когда в скрипте этой функцией переделывал то страница все таки окрывалась но в поле поиска были кряки. В чем дело не понял.
PHP: $url = iconv('windows-1251', 'utf-8', 'русский текст'); $urlis = urlencode($url); $urlisi = 'http://ru.m.wikipedia.org/w/index.php?title=Special%3ASearch&search='; $urls = $urlisi.$urlis;
пробую так $url = $_POST['url']; $urlutf = iconv('windows-1251', 'utf-8', $url); $urlis = urlencode($urlutf); echo $urlis; $urlisi = 'http://ru.m.wikipedia.org/w/index.php?title=Special%3ASearch&search='; $urls =$urlisi.$urlis; результат в строке поиска 'хакер'
Вообщем все зависит какая кодировка на сервере, какая кодировка в твоем php-скрипте(если параметры из него передавать) и какая кодировка на википедия для отображения страниц. Все данные по http-протоколу передаются только в UTF-8. К ней надо все свести.
Ну тогда просто urlencode безо всяких конвертаций. Не понимаю, это так сложно попробывать? Я ведь не телепат, что у тебя там происходит...
вообще что то не врубает. Пишу одно слово запрос проходит(англ.) пишу другое(англ.) не проходит.русские вообще не проходят... Может это курл так ведет себя? Там фильтр что ли? Вот попорядку: пишу в поле по английски любое слово выдает ответ. Пишу любое другое нет ответа. Могу привести код курла. Неужеле там фильтр.
вот <?php header('Content-Type: text/html; charset=utf-8'); $url = $_POST['url']; $urlis = urlencode($url); echo $urlis; $urlisi = 'http://ru.m.wikipedia.org/w/index.php?title=Special%3ASearch&search='; $urls =$urlisi.$urlis; $ch=curl_init(); $user="это убрал/5.0 () ' . ' ( )"; curl_setopt($ch, CURLOPT_URL, $urls); curl_setopt($ch, CURLOPT_USERAGENT, $user); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); $result=curl_exec($ch); curl_close($ch); ?>
Пустой результат может быть из-за автоматического редиректа на название статьи.. PHP: curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);