Qué es la codificación de URL
Las direcciones web solo admiten un conjunto limitado de caracteres. Los espacios, las tildes, la ñ, los signos como & o ? y cualquier símbolo especial deben transformarse en una secuencia con porcentaje: un % seguido de dos dígitos hexadecimales. Es lo que se llama codificación porcentual o percent-encoding.
Dos tipos de codificación
- Codificar parámetro: convierte todo carácter reservado, incluidos &, =, ? y /. Es la opción correcta para un valor que va dentro de un parámetro, como en ?busqueda=café con leche.
- Codificar URL completa: respeta los caracteres estructurales (: / ? & = #) y solo transforma el resto. Úsala cuando ya tienes una dirección entera con espacios o tildes.
Ejemplo
El texto «café con leche & más» se codifica como caf%C3%A9%20con%20leche%20%26%20m%C3%A1s. La é se convierte en %C3%A9 porque ocupa dos bytes en UTF-8; el espacio en %20 y el & en %26.
Errores habituales
- Codificar dos veces una URL: el % pasa a %25 y los enlaces dejan de funcionar.
- Usar la codificación de URL completa para un valor que contiene & o =, que romperían el parámetro.
- Al decodificar, un % suelto sin dos dígitos válidos produce un error.
Al decodificar, el signo + se interpreta como espacio, como hacen los formularios web. Todo el proceso se hace en tu navegador.