Enlaces Patrocinados

viernes, 19 de febrero de 2010

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.



atte. bein


fuente: A wevo

6 comentarios:

Anónimo dijo...

brillante men, me salvaste la vida y el bolsillo :P

Anónimo dijo...

mUCHAS gRACIAS YOU SAVE ME TOO
THANK YOU

Isis dijo...

excelente gracias tu me ayudo mucho!!

Anónimo dijo...

Me partía la cabeza y probé las mismas cosas que tú dices y no funciona.
Pero como tú dices wualaaaa!!!!!.

Muy bien felicitaciones
Gracias!!!

Juan Pinto dijo...

GRACIAS!!!!! :D Busque de todo y la única solución fue la tuya!!! Gracias amigo mío!! :D

Anónimo dijo...

¡¡¡Gracias!!! Funcionaban esos otros métodos del UTF y del ISO, pero se me atravesó IE donde no sirvió ninguno. Tu solución funciona en todos los navegadores que probé :)