Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
В адресной строке набираю: http://www.site.ru/script.php?param=??? Далее в скрипте script.php выполняю: Код: php 1. Получаю: Код: html 1. 2. 3. 4. 5. Должно быть: Код: html 1. 2. 3. 4. 5. Что за артефакт ? PHP значение параметра param декодирует. Но в процессе декодирования спотыкается... mb_internal_encoding() даёт "ISO-8859-1" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 12:56 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
urdencode ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 12:57 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
В адресной строке набираю: http://www. site.ru/script.php?param=%C0%C1%C2 Далее в скрипте script.php выполняю: Код: php 1. Получаю 3 вопросительных знака: Код: html 1. 2. 3. 4. 5. Должно быть: Код: html 1. 2. 3. 4. 5. Что за артефакт ? PHP значение параметра param декодирует. Но в процессе декодирования спотыкается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 12:57 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
ScareCrowurdencode urlencode ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 12:57 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
С urdecode те же вопросы. Пробовал. Да и вообще, php при генерации массива $_REQUEST декодирование уже выполняет самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 12:59 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
авторurlencode Зачем выполнять повторное кодирование уже закодированных данных ? Вместо букв "АБВ" я передаю в строке запроса: %C0%C1%C2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 13:00 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
Не уж-то никто не знает, что URL-кодирование выполняется строго в UTF-8 ? В частности, кириллические символы кодируются двумя байтами, все запрещённые символы из 1-й части ASCI-таблицы - 1 байтом, все прочие НЕлатинские и НЕцифровые символы - 3 байтами и более. Строка "АБВ" в закодированном виде имеет вид: %D0%90%D0%91%D0%92 а не %C0%C1%C2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 14:36 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
Cyrax_02Не уж-то никто не знает, что URL-кодирование выполняется строго в UTF-8 ? В частности, кириллические символы кодируются двумя байтами, все запрещённые символы из 1-й части ASCI-таблицы - 1 байтом, все прочие НЕлатинские и НЕцифровые символы - 3 байтами и более. Строка "АБВ" в закодированном виде имеет вид: %D0%90%D0%91%D0%92 а не %C0%C1%C2Да ну, с чего это. Что прислали, то и должны в скрипте получить. Разве что у вас где-то включена автоматическая перекодировка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 15:41 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
авторРазве что у вас где-то включена автоматическая перекодировка. http://www.php.net/manual/en/function.urldecode.php The superglobals $_GET and $_REQUEST are already decoded. Using urldecode() on an element in $_GET or $_REQUEST could have unexpected and dangerous results. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 16:09 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
Cyrax_02, про urldecode это понятно. Но она декодирует байты, не символы. Абсолютно все равно, что там за кодировка, utf8, koi8 или какая-нибудь Shift_JIS. А циферки � - это не результат автоматического urldecode, это неудачная попытка перекодировки из одного чарсета в другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 16:25 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
?Cyrax_02, про urldecode это понятно. Но она декодирует байты, не символы. Абсолютно все равно, что там за кодировка, utf8, koi8 или какая-нибудь Shift_JIS.В справке написано: Decodes any %## encoding in the given string. Plus symbols ('+') are decoded to a space character. Т.е. декодирует функция, действительно, отдельные байты, представленные в виде %##. Учитывая, что у меня кодировка на стороне сервера установлена в UTF-8, то при передаче в запросе UTF-8-закодированных данных (%D0%90%D0%91%D0%92 в качестве "АБВ") в массиве $_REQUEST получаем нормальные читабельные строки. ?А циферки � - это не результат автоматического urldecode, это неудачная попытка перекодировки из одного чарсета в другой.Если же в качестве "АБВ" передавать %C0%C1%C2 (ASCII-закодированную строку), то, очевидно, на стороне сервера при попытке прочитать эти 3 байта как UTF-8-строку получаем крокозяблики (3 вопросительных знака). P.S. Только вот непонятно, почему функция mb_internal_encoding() у меня возвращает "ISO-8859-1", а не "UTF-8" ? Если в запросе указать UTF-8-закодированную строку (%D0%90%D0%91%D0%92 в качестве "АБВ"), то в массиве $_REQUEST я получаю нормальную читабельную строку "АБВ". Т.е. внутренняя кодировка на сервере у меня UTF-8 (это точно известно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 20:07 |
|
||
|
URL, русские буквы и вопросительные знаки
|
|||
|---|---|---|---|
|
#18+
авторmb_internal_encoding потому что бойфн и кто то не читает доки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 23:44 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38682449&tid=1462658]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
77ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 221ms |
| total: | 407ms |

| 0 / 0 |
