1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

"получение кланов и персов" Помогите!

Тема в разделе 'PW Решённые вопросы', создана пользователем Misha900005, 5 фев 2013.

Статус темы:
Закрыта.
  1. TopicStarter Overlay

    Misha900005 Пользователи

    Сообщения:
    13
    Лайки:
    4
    Репутация:
    0
    Написал получение кланов и персов в кланах через gamedbd, но иногда имена кланов выдает иероглифами из за смещения при чтении байтов и соответственно вся следующая инфа по клану читается как попало. В чем может быть дело?

    (читайте комменты к коду)

    $data= cuint(4608)."\x08\x80\x00\x00\x01".strrev(pack("I",$klan_id));
    socket_send($sock, $data, 8192, 0);
    socket_recv($sock, $buf, 8192, 0);
    socket_set_nonblock($sock);
    socket_close($sock);

    $pos15 = unpack( "c*",substr($buf, 15, 1));
    $pos14 = unpack( "c*",substr($buf, 14, 1));
    $pos15=$pos15[1];
    $pos14=$pos14[1];
    //!!!!!!!!!!!!!!!!!!!Слуйчайно здесь еще раз написал $pos14=$pos14[1];$pos15=$pos15[1]; и о чудо - те кланы которые выводились с ошибками начали выводится нормально, но те которые выводились нормально стали с ошибками.
    if($pos14 == 0)
    {
    $fnamelen = unpack("c*",substr($buf, 16, 1));
    $fnamelen=$fnamelen[1];
    $pholder = 16;
    }
    else
    {
    $fnamelen = $pos15;
    $pholder = 15;
    }
    echo $pos15.'-'.$pos14.'-'.$pholder.'-'; //Закономерности не нашел
    $fname = iconv("UCS-2LE", "UTF-8", substr($buf, $pholder+1, $fnamelen));
    if ($fname!='')
    {
    echo $klan_id.'='.$fname; //Если уж имя клана пошло каракулями, то и все остальное не считывается
    $flvl = ord(substr($buf, $pholder+$fnamelen+1, 1))+1;
    $fmasterid = hexdec(bin2hex(substr($buf, $pholder+$fnamelen+2, 4)));
    $fcommentlen = unpack( "c*",substr($buf, $pholder+$fnamelen+6, 1));
    $fcommentlen=$fcommentlen[1];
    $fcomment = iconv("UCS-2LE", "UTF-8", substr($buf, $pholder+$fnamelen+7, $fcommentlen));
    $fcount = unpack( "c",(substr($buf, $pholder+$fnamelen+$fcommentlen+8, 1)));
    $fcount=$fcount[1];
    if ($fcount>0)
    {
    unset($klans[$klan_id]);
    if ((isset($klans))&&(in_array($klan_id,$klans)))
    {
    //Обновление клана в базе
    }
    else
    {
    //Тут добавление клана в базу
    }
    $holder = $pholder+$fnamelen+$fcommentlen+9;
    for($i = 0; $i < $fcount; $i++)
    {
    $rid = unpack( "N",substr($buf, $holder, 4));
    $rid=$rid[1];
    $rlvl = ord(substr($buf, $holder+4, 1));
    $rcls = ord(substr($buf, $holder+5, 1));
    $rnamelen = unpack( "c*",substr($buf, $holder+10, 1));
    $rnamelen=$rnamelen[1];
    $rname = iconv("UCS-2LE", "UTF-8", substr($buf, $holder+11, $rnamelen));
    $rtitlelen = unpack( "c*",substr($buf, $holder+$rnamelen+11, 1));
    $rtitlelen=$rtitlelen[1];
    $rtitle = iconv("UCS-2LE", "UTF-8", substr($buf, $holder+$rnamelen+12, $rtitlelen));
    $vklad = hexdec(bin2hex(substr($buf, $holder+$rnamelen+$rtitlelen+12, 4)));
    $holder = $holder+$rnamelen+$rtitlelen+16;
    //Обновление перса в базе
    }
    }
    }
  2. salitypw Программист Пользователи

    Сообщения:
    673
    Лайки:
    458
    Пол:
    Мужской
    Репутация:
    8
    Команда:
    Easy Game Protection
    Страна:
    Japan Japan
    А в самой базе ты установил кодировку ?
  3. TopicStarter Overlay

    Misha900005 Пользователи

    Сообщения:
    13
    Лайки:
    4
    Репутация:
    0
    Я все смотрю еще до базы, русские символы норм выводятся
  4. TopicStarter Overlay

    Misha900005 Пользователи

    Сообщения:
    13
    Лайки:
    4
    Репутация:
    0
    ... не по теме
  5. 4elovek Команда форума Модератор Пользователи

    Сообщения:
    563
    Лайки:
    215
    Пол:
    Мужской
    Репутация:
    2
    Не код морза?
    *в php полный 0, могу ошибаться*
  6. TopicStarter Overlay

    Misha900005 Пользователи

    Сообщения:
    13
    Лайки:
    4
    Репутация:
    0
    Будь уверенней в себе.
  7. 4elovek Команда форума Модератор Пользователи

    Сообщения:
    563
    Лайки:
    215
    Пол:
    Мужской
    Репутация:
    2
    ^ Звучит как угроза.
  8. TopicStarter Overlay

    Misha900005 Пользователи

    Сообщения:
    13
    Лайки:
    4
    Репутация:
    0
    На кой х*й ты мне там нужен.....
  9. TopicStarter Overlay

    Misha900005 Пользователи

    Сообщения:
    13
    Лайки:
    4
    Репутация:
    0
    Ну и х*й с тобой!
  10. TopicStarter Overlay

    Misha900005 Пользователи

    Сообщения:
    13
    Лайки:
    4
    Репутация:
    0
    Где хочу там и прошу...Это ты спизженый!
  11. vieraw Пользователи

    Сообщения:
    54
    Лайки:
    27
    Репутация:
    0
  12. BatMan Няшка^^

    Сообщения:
    46
    Лайки:
    6
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    HardPW
    Тема превратилась в полный срач.
    Закрыто.
Черновик сохранён Черновик удалён
Similar Threads
  1. chetoss
    Ответов:
    40
    Просмотров:
    13.182
  2. L00ke
    Ответов:
    15
    Просмотров:
    4.208
  3. akademik
    Ответов:
    5
    Просмотров:
    1.037
  4. LemanRass1234
    Ответов:
    5
    Просмотров:
    1.986
  5. Besaba
    Ответов:
    4
    Просмотров:
    1.499
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей