Estoy teniendo problemas con la codificación de los parámetros a la hora de realizar una petición Ajax por Post.
Cuando la petición se ejecuta desde el navegador Firefox los parámetros que llegan al Java en la request tienen una codificación diferente (cuando contienen caracteres especiales - ñ, acentos, etc) a la del resto de navegadores con los que he probado (IE6, IE7, IE8, Opera, Safari).
Supongo que el problema puede ser el objeto empleado por cada navegador (XMLHttpRequest() o ActiveXObject("Msxml2.XMLHTTP"), ActiveXObject("Microsoft.XMLHTTP"))
y que los objetos codifiquen los parámetros de la petición empleando un encoding diferente.
He probado a utilizar la función JavaScript:
encondeURIComponent(parametro)
para codificar los parámetros de la petición, pero siguen llegando al Java con distintos encoding dependiendo del navegador.
También he probado a utilizar:
setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
setRequestHeader("Accept-Charset", "ISO-8859-1")
send(cadena_de_parametros)
para ver si así forzaba a que las peticiones llevasen el mismo encoding pero no funcionó...
¿A alguien se le ocurre una explicación al motivo por el cual en una llamada Ajax los párametros lleven un encoding diferente en función del navegador?
¿Alguien sabe como hacer para que los parámetros de la petición lleven el mismo encoding independientemente de navegador?
Un saludo y gracias.