Mar 01 2009

Si no se muestran las Ñ, acentos, tildes en tomcat jsp y mysql

Category: Sistemas Computacionales, java/jsp, linux, programacionLeg10n @ 10:51 am

Vista Ready!

La programación web puede ser un dolor de cabeza por muchas razones, una de ellas son las codificaciones de caracteres. Nosotros que hablamos español, tenemos que sufrir con las configuraciones de todos los elementos para que se puedan leer nuestros caracteres de manera adecuada, pero hay veces que aun así no sirve.

Por ejemplo, hace poco estube programando en JSP, y mySQL, mi base de datos estaba configurada en UTF-8, mi tabla estaba en UTF-8, mi archivo JSP estaba en UTF-8 y el HTML contenia el tag META en charset=UTF8. Pero aún asi!!! no me mostraba ñ y acentos de manera adecuada. Entonces descubrí que es en el momento de ser transmitidos los datos aparentemente el navegador o el servidor o ambos ignoran la especificación del charset, incluso si especificas en el tag <form accept-charset=”UTF-8″>.

Entonces la solución a esto está en recodificar los datos en el jsp que los procesa:

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

Y así forzamos a la codificación en UTF-8 cada parámetro de la solicitud.

Tags: , , , ,