Несмотря на то что кодирование данных при передаче между HTML-формами, базами данных и так далее чрезвычайно полезно, в РНР поддерживается несколько более простых (и очень удобных) преобразований. В качестве иллюстрации предположим, что нужно отобразить в браузере следующую строку:
При кодировании двоичных данных полезна функция base64_encode (), имеющая следующий синтаксис: base64_encode($data) где $data — данные для кодирования. Функция возвращает данные в переменной $data в формате base64.
Часто при пересылке данных формы или в GET-запросе к серверу (то есть, в части URL) необходимо преобразовать символы, имеющие специальное значение в HTTP-запросе (не-алфавитно-цифровые символы), в допустимый формат. В HTTP-запросах таким форматом является шестнадцатеричный ASCII-код символа, имеющий префикс %. Исключение составляет символ пробела, представляемый знаком +. Предположим, что нужно передать переменную myvar, имеющую значение / value, в другой PHP-сценарий.
Часто, особенно при передаче данных между РНР и внешними источниками (такими как HTML-формы или базы данных), необходимо кодировать или преобразовать данные в требуемый формат. Этот раздел посвящается функциям РНР, предназначенным для этих целей.
При обработке и отображении данных из форм возникает общая проблема, трактуемая иногда как некая тонкость РНР — "магические" кавычки. При работе с внешними по отношению к РНР данными (с вводом из форм или баз данных) РНР может автоматически добавлять символ отмены (обратный слэш) к любому символу, который может привести к возникновению проблемы. Например, если строка содержит символ кавычки (одиночной или двойной), это может привести к проблеме при отображении этой строки в браузере.