Просмотр полной версии : Что происходит с символами во время выполнения запроса?
Здраствуйте, может ктото подсказать почему если в параметрах запроса присутствуют некоторые символы например двойные кавычки то нужно добавлять перед ними два слеша. Я всегда так делал только потому что знаю что так нужно, но какова причина?
Спасибо.
вы имеете в виду на стороне сервера, перед вставкой в SQL-запрос?
или в каком-то ином случае?
потому что не сильно понятно о каком случае вы сейчас говорите
во многих случаях надо, либо не надо экранировать кавычки, и другие спецсимволы, чтобы они не были проинтерпретированы неправильным/неожиданным/неопределенным , или же зловредным способом
иногда необходимо писать даже по три и более слешей подряд(например в регулярках в PHP)
вы имеете в виду на стороне сервера, перед вставкой в SQL-запрос?
или в каком-то ином случае?
В общем я имел ввиду во всех случаях, но как я понял из вашего ответа, символы никак не изменяются при передаче в ххтп запросе, всё зависит от того где они используются и как интерпретируются на сервере, правильно ли я понял?
Простоя думал, что возможно чтото происходит именно во время передачи в запросе (перекодировка или ещё что нибудь), тоесть то что я отправил не всегда равно тому что пришло.
Спасибо.
тоесть то что я отправил не всегда равно тому что пришло.
при правильной работе веб-сервера, и правильно настроенных и переданных кодировках, то что вы передаете в обе стороны прозрачным образом на конечных пунктах полностью соответствует друг другу
из основых подводных камней, которые могут возникнуть:
1)во всей системе используется больше одной кодировки, и/или для каких-то элементов она не определена
2)magic_quotes в PHP самостоятельно экранирует спецсимволы пришедшие с клиента
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot