За последние 24 часа нас посетили 23674 программиста и 1545 роботов. Сейчас ищут 1000 программистов ...

Проблема с кодировкой UTF-8

Тема в разделе "PHP для новичков", создана пользователем блудный сын, 21 окт 2008.

  1. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Sergey89
    Щя в ЛС отправлю :)
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. <?php
    2. $f = fsockopen('search.yaca.yandex.ru', 80);
    3.  
    4. if (!$f) {
    5.     exit;
    6. }
    7.  
    8. fwrite($f, "GET /yca/cy/ch/yandex.ru HTTP/1.1\r\n");
    9. fwrite($f, "Host: search.yaca.yandex.ru\r\n");
    10. fwrite($f, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3\r\n");
    11. fwrite($f, "Accept-Encoding: gzip,deflate\r\n");
    12. fwrite($f, "Connection: close\r\n");
    13. fwrite($f, "\r\n");
    14.  
    15. $response = "";
    16. $data = "";
    17.  
    18. while (!feof($f)) {
    19.     $response .= fgets($f);
    20. }
    21.  
    22. list($headers, $body) = explode("\r\n\r\n", $response, 2);
    23.  
    24. if (preg_match('/^Transfer-Encoding:\s*chunked/mi', $headers)) {
    25.     while (preg_match('/^([0-9a-f]+)/i', $body, $match)) {
    26.         $offset = strlen($match[1]) + 2;
    27.         $length = hexdec($match[1]);
    28.  
    29.         $data .= substr($body, $offset, $length);
    30.         $body = substr($body, $offset + $length + 2);
    31.     }
    32. } else {
    33.     $data = $body;
    34. }
    35.  
    36. if (preg_match('/^Content-Encoding:\s*gzip/mi', $headers)) {
    37.     $data = gzinflate(substr($data, 10));
    38. }
    39.  
    40. print $data;
    =) Вобщем, там chunked ответ. Приходит по кусочкам, поэтому его надо клеить.
     
  3. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Sergey89, спасибо! Теперь сжатие работает! :) Немного изменю под свои нужды и вперед! :) Клеить так клеить :)
     
  4. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    С тИЦ 10 домен кстати никому не нужен?
    cwportal.org - свободен :)