За последние 24 часа нас посетили 97872 программиста и 7970 роботов. Сейчас ищут 1849 программистов ...

Json_encode Крякозябры

Тема в разделе "PHP для новичков", создана пользователем PhpNewman, 24 фев 2018.

Метки:
  1. PhpNewman

    PhpNewman Новичок

    С нами с:
    24 фев 2018
    Сообщения:
    7
    Симпатии:
    0
    Добрый день форумчане.
    Подскажите пожалуйста.

    Есть сайт, к которому обращаюсь за ключевыми словами:

    PHP:
    1. public function scrape() {
    2.  
    3.        $url = " '';
    4.  
    5.        $ch = curl_init();
    6.  
    7.        $keyword = urlencode( $_REQUEST['keyword'] );
    8.  
    9.  
    10.        if ($_REQUEST['domain'] == 'google') {
    11.  
    12.            $url = urlencode('http://tools.seochat.com/components/com_seotools/tools/suggest-tool/googleall.php?q='.$keyword);
    13. curl_setopt($ch,CURLOPT_URL, $url);
    14.  
    15.        curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
    16.  
    17.        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    18.  
    19.        curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 1);
    20.  
    21.        $result = curl_exec($ch);
    22.  
    23.        curl_close($ch);
    24.  
    25. ///////////
    26. $result = str_replace("[", "", $result);
    27.  
    28.        $result = str_replace("]", "", $result);
    29.  
    30.        $result = explode(",", $result);
    31.  
    32.  
    33.        echo json_encode(array("data" => $result),JSON_UNESCAPED_UNICODE);// На выходе получаю крякозябры , не могу понять , опыта не хватает что нужно сделать чтобы получить русские символы
    34.  
    35.  
    36.  
    37.        die();
    38.        }
    Проблема, получаю на выходе u5/0/u1.... и подобную крякозябру, подскажите что нужно сделать чтоб получить русские символы.
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    По моему это нормальное явления для json, я с ним не много работал, у меня также вместо русских символов выводилась такая штука.
    Так что может тебе даже не json нужен для получения данных на выходе.
     
  3. PhpNewman

    PhpNewman Новичок

    С нами с:
    24 фев 2018
    Сообщения:
    7
    Симпатии:
    0
    Ну может , быть поэтому и спросил, может кто подскажет
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.841
    Симпатии:
    1.338
    Адрес:
    Лень
    1. у вас проблема с синтаксисом
    $url = " '';
    --- Добавлено ---
    PHP:
    1. var_dump( $result );
    2.  
    3.  
    4. echo json_encode(array("data" => $result),JSON_UNESCAPED_UNICODE);
    что выведет ?
     
  5. PhpNewman

    PhpNewman Новичок

    С нами с:
    24 фев 2018
    Сообщения:
    7
    Симпатии:
    0
    Только попробовал, не выводит ничего, как будто после exit ничего не обрабатывается..
    --- Добавлено ---
    [​IMG]
    сделал так и получил вот что:

    [​IMG]

    Вместо крякозябр видите что вышло))
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.841
    Симпатии:
    1.338
    Адрес:
    Лень
    вы сделали то, что я не просил
     
  7. PhpNewman

    PhpNewman Новичок

    С нами с:
    24 фев 2018
    Сообщения:
    7
    Симпатии:
    0
    Я писал выше что сделал, но ничего не вывелось...
    Проблема с синтаксисом согласен, но результат тот же.. что ' ', что " ", без разницы

    PHP:
    1. var_dump( $result );
    2. echo json_encode(array("data" => $result),JSON_UNESCAPED_UNICODE);
    сделал это , пустота..
     
  8. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    183
    @PhpNewman после exit ничего работать не будет
     
  9. PhpNewman

    PhpNewman Новичок

    С нами с:
    24 фев 2018
    Сообщения:
    7
    Симпатии:
    0
    Да все верно, я так и написал, что ничего не отработало, выше для MouseZver, потому как он посоветовал этот код..
    --- Добавлено ---
    [​IMG]

    Вот ничего не могу поделать, кто сообразит?? По сути это уже ответ с самого сайта идет с этими крякозябрами...

    вот к примеру..

    http://tools.seochat.com/components/com_seotools/tools/suggest-tool/googleall.php?q=бизнес

    Кто подскажет что сделать чтоб получить раскодированные значения крякозябр.?
     
  10. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @PhpNewman, после 23-й строки вставьте var_dump($result); exit;
    И покажите вывод.
    Суть в том, чтобы узнать, что получаете в результате curl-запроса...
     
  11. PhpNewman

    PhpNewman Новичок

    С нами с:
    24 фев 2018
    Сообщения:
    7
    Симпатии:
    0
    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)

    это в консоли посмотрел..
     
  12. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @PhpNewman, не надо "в консоли".
    Надо результат того, что в php приходит...
    Если не получается воспользоваться отладчиком - можете выполнить echo $result; exit;
    А в js в функции обработки результата выполнить console.log(имя_переменной_с_данными_возвращенными_после_ajax_запроса);
     
  13. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.841
    Симпатии:
    1.338
    Адрес:
    Лень
    PhpNewman нравится это.
  14. PhpNewman

    PhpNewman Новичок

    С нами с:
    24 фев 2018
    Сообщения:
    7
    Симпатии:
    0
    Благодарю, работает, то что нужно :) Русские символы хорошо отрабатываются, и вот результат :)

    [​IMG]