[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. oRb

    oRb Elder - Старейшина

    Joined:
    9 May 2008
    Messages:
    294
    Likes Received:
    582
    Reputations:
    256
    Zitt,
    http://ru.php.net/manual/ru/function.urlencode.php
     
  2. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    2 Gifts & 2 oRb по всей видимости он не про это спрашивает
    какая кодировка в полях head-ера шлеться? Либо данные проходят какую то обработку перед urlencode, либо они в какой то не стандартной кодировки.
     
  3. oRb

    oRb Elder - Старейшина

    Joined:
    9 May 2008
    Messages:
    294
    Likes Received:
    582
    Reputations:
    256
    pass_placeholder - точно UTF-8
    charset_test - хз
    Думаю ситуация прояснится, если Zitt скажет, где он это отснифал.
     
    1 person likes this.
  4. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Да, вопрос не ясен... :) Хидер шлётся в чистом ASCII, все символы, которые не укладываются в таблицу ASCII кодируются в URL-encode (в PHP это делает urlencode функция, обратная ей - urldecode). Что касается контента HTTP-сообщения, то оно закодировано в соответствии с переданным хидером Content-Encoding. Ну и от себя могу добавить, что также неплохо было бы следить за хидерами Content-Transfer-Encoding и Transfer-Encoding, которые определяют каким образом были модифицированы данные тела HTTP-сообщения для обеспечения целостности передачи данных по каналам сети (очень актуально при передаче бинарных данных).

    Ну и для полного осмысления HTTP 1/1:

    http://www.w3.org/Protocols/rfc2616/rfc2616.html
     
  5. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Это не utf-8.
    + groundhog, я об этом же.
    2 Zitt дай линк на сайт откуда это добро идет.
    &pass_placeholder=Пароль - utf-8(меня обламали, это utf-8)
     
    #7725 AkyHa_MaTaTa, 21 Jan 2009
    Last edited: 21 Jan 2009
  6. oRb

    oRb Elder - Старейшина

    Joined:
    9 May 2008
    Messages:
    294
    Likes Received:
    582
    Reputations:
    256
    Докажи.
    Моя аргументация:
    1.
    PHP:
    <?php
    $str 
    '%D0%9F%D0%B0%D1%80%D0%BE%D0%BB%D1%8C';
    $str urldecode($str);
    echo 
    mb_detect_encoding($str), "\n"$str;
    ?>
    2. Да и если тупо в utf-8 консоле запустить, то и без mb_detect_encoding все сразу видно.
    3. Посчитай число символов, сразу станет понятно что это не однобайтная кодировка
     
  7. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    &pass_placeholder=Пароль - да я это utf-8, я сказал не правду, тогда это что?
    <?php
    $str ='%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2%B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84';
    $str = urldecode($str);
    echo mb_detect_encoding($str), "\n", $str;
    ?>
    ладно, charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2%B4%2C%E6%B0%B4
    это какая то фича Face Book, по всей видимости так они проверяют поддержку utf-8 в браузере.
     
    #7727 AkyHa_MaTaTa, 21 Jan 2009
    Last edited: 21 Jan 2009
    1 person likes this.
  8. Zitt

    Zitt Elder - Старейшина

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    ух ты сколько отписавшихся... спасибо всем.. буду изучатть...
     
  9. Zitt

    Zitt Elder - Старейшина

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    ДА это точна utf-8.. Можно строку в utf-8 перевести?
     
  10. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    Привет всем! Из-за того что в свой двиг решил включить ajax, потребовалось перейти на utf8, и вот какая проблема беру файл, открываю через блокнот, сохраняю как utf8, все работает но ошибка типа заголовки уже отправлены невозможно открыть сессию, в чем может быть проблема?
     
  11. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Zitt, iconv('utf-8','windows-1251', $str);

    Zedi, сохраняй без метки bom, в notepad++ вроде есть такое.
     
    #7731 Chaak, 21 Jan 2009
    Last edited: 21 Jan 2009
    1 person likes this.
  12. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    2 Zedi открывай и сохраняй хотя бы в NOTEPAD++.
     
    2 people like this.
  13. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Zedi, ищи вывод (echo и т.д.) где-то выше открытия сессии
     
    2 people like this.
  14. AkyHa_MaTaTa

    AkyHa_MaTaTa Elder - Старейшина

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    как написал chack проблема в что блокнот будет сохранять в файл с Include Unicode Signature(BOM), и поэтому в как бы в начале файла будут спец символы, перед <?php session_start() - и отсюда будет вывод в браузер этих символов перед выполнением php кода, ну и соответсвенно ошибко что хедар уже послан.
     
  15. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    это опять я, отправляю данные ajax ом на PHP скрипт, при отправке русских букв приходят какие то кракозябры типа
    Code:
    %u0410%u043D%u0442%u0438%u0447%u0430%u0442
    как скриптом можно это расшифровать? urldecode не прокатил
     
  16. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    ajax.setRequestHeader("Content-Type""text/plain;charset=UTF-8");
    это добавляй к запросу + кодировка страницы клиента должна дополнительно выставляться:
    PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" >
     
    1 person likes this.
  17. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    Вопрос как можно заменить

    PHP:
    1 первый файл
    <?php

    define
    ('H',true);
    define('L',true);
    define('C',true);

    // потом проверку делаю 2
    ?>
    <?php 
    if(!defined('C'))  die("Not Find") ; ?>


    Вопрос как можно заменить это удобней

    если например будет 30+ файл
    все время писать define('H',true); ?
     
  18. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Напиши это в цикле, а определяемые константы храни в массиве... При необходимости добавишь новый элемент в массив...
     
    1 person likes this.
  19. Manoff

    Manoff Elder - Старейшина

    Joined:
    15 Dec 2007
    Messages:
    38
    Likes Received:
    4
    Reputations:
    0
    Люди, всем привет , не подскажете , как написать код, который находясь в bot.php каждые 10 секунд переходила бы по ссылкам на странице index.php, причём используя прокси из списка proxy.txt ?? Хотябы подкинте идею.
     
  20. Zitt

    Zitt Elder - Старейшина

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    каждык 10 мин можно кроном или sleep(10000скокаката_там) ))
    сам переход fsopen или curl загугли тем полно.
     
    1 person likes this.
Thread Status:
Not open for further replies.