pasando caracteres especiales con encodeURI en javascript
-
12-09-2019 - |
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?
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.