Pregunta

Tengo un campo de entrada HTML vinculada a un botón con una función onclick en javascript que puede pasar el valor de campo de texto a un campo de texto de otra página. Mientras pasa a los valores de una página a otra a través de una solicitud de URL de una página JSP, descubrí que la codificación de los valores con encodeURI() obtiene:

  • £ -> a £ (2 muestras !!)
  • O -> ¶ (2 muestras !!)

Cuando uso javscript escape() consigo las codificaciones apropiadas, pero por desgracia, el signo + desaparecería. Es que hay una mejor solución para tener algún tipo de codificación de caracteres estable?

¿Fue útil?

Solución

encodeURI() codifica mediante codificación UTF-8, que es por eso que ver las dos señales para la codificación de caracteres de uno (que es normal).

Si desea utilizar fuga y aún así mantener el signo +, puede utilizar lo siguiente:

function mod_escape(value) {
  value = escape(value);
  return value.replace(/\+/g, '%2B');
}

Otros consejos

Creo que se debe utilizar encodeURIComponent () en cada par clave = valor individual y decodeURIComponent en segunda página para cada par clave = valor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top