Добрый день форумчане. Подскажите пожалуйста. Есть сайт, к которому обращаюсь за ключевыми словами: PHP: public function scrape() { $url = " ''; $ch = curl_init(); $keyword = urlencode( $_REQUEST['keyword'] ); if ($_REQUEST['domain'] == 'google') { $url = urlencode('http://tools.seochat.com/components/com_seotools/tools/suggest-tool/googleall.php?q='.$keyword); curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 1); $result = curl_exec($ch); curl_close($ch); /////////// $result = str_replace("[", "", $result); $result = str_replace("]", "", $result); $result = explode(",", $result); echo json_encode(array("data" => $result),JSON_UNESCAPED_UNICODE);// На выходе получаю крякозябры , не могу понять , опыта не хватает что нужно сделать чтобы получить русские символы die(); } Проблема, получаю на выходе u5/0/u1.... и подобную крякозябру, подскажите что нужно сделать чтоб получить русские символы.
По моему это нормальное явления для json, я с ним не много работал, у меня также вместо русских символов выводилась такая штука. Так что может тебе даже не json нужен для получения данных на выходе.
у вас проблема с синтаксисом $url = " ''; --- Добавлено --- PHP: var_dump( $result ); exit; echo json_encode(array("data" => $result),JSON_UNESCAPED_UNICODE); что выведет ?
Только попробовал, не выводит ничего, как будто после exit ничего не обрабатывается.. --- Добавлено --- сделал так и получил вот что: Вместо крякозябр видите что вышло))
Я писал выше что сделал, но ничего не вывелось... Проблема с синтаксисом согласен, но результат тот же.. что ' ', что " ", без разницы PHP: var_dump( $result ); exit; echo json_encode(array("data" => $result),JSON_UNESCAPED_UNICODE); сделал это , пустота..
Да все верно, я так и написал, что ничего не отработало, выше для MouseZver, потому как он посоветовал этот код.. --- Добавлено --- Вот ничего не могу поделать, кто сообразит?? По сути это уже ответ с самого сайта идет с этими крякозябрами... вот к примеру.. http://tools.seochat.com/components/com_seotools/tools/suggest-tool/googleall.php?q=бизнес Кто подскажет что сделать чтоб получить раскодированные значения крякозябр.?
@PhpNewman, после 23-й строки вставьте var_dump($result); exit; И покажите вывод. Суть в том, чтобы узнать, что получаете в результате curl-запроса...
Uncaught SyntaxError: Unexpected token s in JSON at position 0 at JSON.parse (<anonymous>) at Object.success (script.js?ver=1.0:66) at i (load-scripts.php?c=1&load[]=jquery-core,jquery-migrate,utils,underscore,moxiejs,plupload&ver=4.9.4:2) at Object.fireWith [as resolveWith] (load-scripts.php?c=1&load[]=jquery-core,jquery-migrate,utils,underscore,moxiejs,plupload&ver=4.9.4:2) at y (load-scripts.php?c=1&load[]=jquery-core,jquery-migrate,utils,underscore,moxiejs,plupload&ver=4.9.4:4) at XMLHttpRequest.c (load-scripts.php?c=1&load[]=jquery-core,jquery-migrate,utils,underscore,moxiejs,plupload&ver=4.9.4:4) это в консоли посмотрел..
@PhpNewman, не надо "в консоли". Надо результат того, что в php приходит... Если не получается воспользоваться отладчиком - можете выполнить echo $result; exit; А в js в функции обработки результата выполнить console.log(имя_переменной_с_данными_возвращенными_после_ajax_запроса);
замените PHP: $result = str_replace("[", "", $result); $result = str_replace("]", "", $result); $result = explode(",", $result); echo json_encode(array("data" => $result),JSON_UNESCAPED_UNICODE); на PHP: echo json_encode ( array ( 'data' => json_decode ( $result, true ) ), JSON_UNESCAPED_UNICODE );