jueves, 22 de septiembre de 2011

JSP, SQL server, TOMCAT problema con los acentos y caracteres especiales

Después de muchos días de no postear nada, debido a muchos factores como
mi cambio de trabajo, mi ingreso a una nueva empresa que lejos de prometer
 un buen futuro, mínimo tendré dinero para vivir lo que resta del semestre
 en lo que se atraviesa otra oportunidad mejor :D.

 El motivo de este post es como lo indica el título. En el actual proyecto
 que estoy haciendo me encontré con el bug de que al hacer un paso de parámetros
 harcodeado desde mi jsp como el que se muestra a continuación

 Escenario:

 jsp origen llamado "alumnos.jsp" ayudado de un container que es de ajax

alumnoId: lleva la matricula de mi alumno

comentario: lleva un segmento de texto que es ingresado desde una tex area, la cual sin problemas acepta acentos

jsp destino llamado: "expObservacion.jsp" que recibe los parametros con sus respectivos

String comentario = (String) request.getParameter("comentario");
String alumnoId = request.getParameter("alumnoId");






ajax_loadContent('idcomentario','expObservacion.jsp?alumnoId=' + alumnoId + '&comentario=' + comentario);

El problema hasta aquí es que al pasar en la variable comentario algo como esto:

probando con los caracteres extraños á é í ó ú ñ


Lo que insertaba en la base de datos erán caracteres como estos:


probando con los caracteres extraños á é à ó ú ñ



La solución para resolver esto se lista aquí:


String comentario = new String(request.getParameter("comentario").getBytes("ISO-8859-1"), "UTF-8");


Después de leer a varias personas con el mismo error, y encontrar distintas soluciones
como modificar un archivo del tomcat para que sin problemas detecte los caracteres en
utf-8, o desde el form hacer un charser no se que!!!!! era un desmadre neta, y por
cierto todo lo intente sin resultados hasta que como encontre en A wevo... solo había
que tratar dicha variable en el jsp y woala.

No hay comentarios:

Publicar un comentario