paso de parámetros con acentos a una jsp

atakal
07 de Septiembre del 2003
tengo un problema para recuperar parámetros desde una jsp a otra jsp.
Utilizo tomcat33 por lo que no puedo utilizar el método setCharcterEncoding.
El formulario envia los datos codificados con el urlEncoder y cuando los descodifico con el java.net.urldecoder solo tira si el formulario utiliza metod get.

Os mando el codigo de la que recibe por si se os ocurre algo emocionante.

Gracias:


<%@ page language="java" contentType="text/html; charset=ISO-8859-1" %>
<%@page import = "java.net.*"%>

<html>
<head>
</head>
<body topmargin="0" leftmargin="0" marginheight="0" marginwidht="0">
decoder
<br>


<%
String mistring = URLDecoder.decode(request.getParameter("msg"));
%>

MSG: <%= mistring %><br><br>

</body>
</html>

Ander
07 de Septiembre del 2003
Es algo curioso, entiendo que esta JSP procesa la informacion de un formulario HTML, todo lo que un navegador envia por get se codifica como UTF-8 que es lo que deberia llegar tambien por un post

Si viene de tra jsp es posible que en el forward le haya cambiado algo creo que la especificacion de jsp 1.1 por defecto utiliza ISO8859-1 , de todas formas prueba esta linea de codigo, no es muy eficiente pero te asegura conversion a ISO-8859-1 o te puede dar alguna pista mas

String mistring = new String(request.getParameter("msg").getBytes("ISO8859_1")); //creo que la cadena es ISO8859_1 pero ahora no lo se

Tambien podrias ver en que encoding esta devolviendo tu jsp con :

String charset = response.getCharacterEncoding();

Para asegurarte que lo que envias se codifica bien.

Espero que te sirva de ayuda