добрый вечер =)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Fiftin, 29 Aug 2011.

  1. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    Ребята обьясните пожалуйста такую ситуацию.
    делаю авторизацию вконтакте гет запросом, результат вывожу в мемо.
    вместо пробелов, у меня в мемо появляются квадратики, а на другой машине вместо пробелов появляются %, на обоих компах ХРюша, на 7-ке всё было ок, то есть пробел был пробелом.
    Скажите плиз в чём причина и как исправить сие недаразумение. спасибо)
     
  2. inCode

    inCode Member

    Joined:
    20 Jun 2011
    Messages:
    141
    Likes Received:
    22
    Reputations:
    5
    Неправильное отображение страницы
    В гет запросе поставь использование кодировки UTF-8\1251 (точно уже не помню)
     
  3. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    то есть наприер
    http.get(utf8('http://yandex.ru'));
    da?
     
  4. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    сделал так у меня то же самое получилось :-[
    z:=idhttp1.get(utf8encode('http://login.vk.com/?act=login&email='+m+'&pass=' +p+'&expire=&vk=1'));
     
  5. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    [​IMG]

    Тебе предлагают в заголовки добавить
    Accept-Charset: windows-1251
    и не надо даже трогать UTF8, юникод и прочее.
     
  6. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    idhttp1.Request.CharSet:='windows-1251';
    c:=idhttp1.get('http://login.vk.com/?act=login&email='+m+'&pass=' +p+'&expire=&vk=1');

    не пашет }:-(
     
  7. MTV

    MTV New Member

    Joined:
    16 Feb 2011
    Messages:
    180
    Likes Received:
    2
    Reputations:
    0
    Попробуй, что-то в этом духе:
    Code:
    idhttp1.Request.CharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
     
  8. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    тоже самое(
     
  9. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Выложи исходники и ответ сервера, сохраненный в файле.
     
  10. Jingo Bo

    Jingo Bo Member

    Joined:
    25 Oct 2009
    Messages:
    368
    Likes Received:
    51
    Reputations:
    7
    Скрин с Memo скинь, а лучще с помощью Hex редактора определи код символов тех.
     
  11. Fiftin

    Fiftin New Member

    Joined:
    21 Jul 2011
    Messages:
    40
    Likes Received:
    0
    Reputations:
    0
    Code:
    idhttp1.AllowCookies:=true;
    idhttp1.HandleRedirects:=true;
    m:='логин';
    p:='пасс';
    idhttp1.Request.CharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
    c:=idhttp1.get('http://login.vk.com/?act=login&email='+m+'&pass=' +p+'&expire=&vk=1');
    memo1.Lines.Add(c);
    http://zalil.ru/31622279 тут то ответ
     
  12. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Там все нормально. ANSI.
    HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">    <head>  <meta http-equiv="X-UA-Compatible" content="IE=edge" />  <script type="text/javascript" src="/al_loader.php?act=nav&v=4697"></script>    <link rel="shortcut icon" href="/images/faviconvknew.ico" />    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />  <meta name="description" content="<b>ВКонтакте</b> – универсальное средство коммуникации и поиска людей,<br>которым ежедневно пользуются десятки миллионов человек. Мы хотим, чтобы друзья, однокурсники, одноклассники, соседи и коллеги всегда оставались в контакте." />    <title>Добро пожаловать</title>    <noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript> ...