PHP и HTML тесно связаны: PHP генерирует HTML, а HTML содержит информацию , которая высылается в PHP.
1. Какое кодирование/декодирование я должен выполнять при передаче значения в HTМL-форме? А через URL?
Есть несколько этапов, когда кодировка имеет важное значение. Предположим, у вас имеется переменная string $data, содержащая строку, которую вы хотите передать некодированным способом. Тогда необходимые шаги:
HTML-интерпретация. Чтобы специфицировать произвольную строку, вы обязаны заключить её в двойные кавычки, а htmlspecialchars - всё значение.
URL: URL состоит из нескольких частей. Если вы хотите, чтобы ваши данные интерпретировались как один элемент, вы обязаны кодировать их с помощью urlencode().