2011-08-10 26 views
28

Tengo algunos problemas con la codificación de caracteres que causa algunos problemas con un formulario de búsqueda en mi sitio web. Uno de los posibles valores de campo tiene un ampersand en él. Cuando se selecciona esta opción y una búsqueda se presenta el signo se codifica a: %2526URL Codificación-Símbolo y Problema

Al usar los enlaces de paginación en la parte inferior de la página y navegar a la segunda página en la lista de resultados del signo se codifica a: %26

Finalmente ... en un intento de navegar a la 3ª página de la lista, se reemplaza el signo comercial por: & Esto rompe la forma, ya que supone que hay una variable que en realidad no existe.

¿Por qué está cambiando la codificación? ¿Cómo puedo arreglar esto? ¡Gracias por tu ayuda!

Respuesta

53

Parece que el campo se está codificando dos veces. El primer pase dará como resultado & cambiado a% 26, luego urlencoding% 26 dará como resultado% 2526, ya que la codificación para% sí mismo es% 25.

0

Supongo que está navegando utilizando enlaces que se muestran en su página web.

La respuesta está en cómo está generando la URL en la etiqueta href de ese enlace. Lo más probable es que no esté recodificando el signo y en la URL cuando está configurando el valor del atributo href.

Cuestiones relacionadas