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: , , , ,

12 Responses to “Si no se muestran las Ñ, acentos, tildes en tomcat jsp y mysql”

  1. marronero says:

    tio me has salvado la vida! muxas gracias tronco!

  2. Iván says:

    Muchísimas gracias.

    No entiendo como estando todo en UTF-8 puede pasar que no se reconozcan bien los caracteres españoles, pero pasa. Así que tu “truco” me ha venido genial.

  3. Giovanny says:

    Wow, muchas gracias por esto, me pasó exactamente igual, y ya me estaba desesperando porque mañana tengo reunión con el cliente, y hasta hace poco me percate del error.
    Gracias!!

  4. cgarciag says:

    Grcias, ha sido una gran aportación

  5. File says:

    Muchas gracias, la verdad, habia probado de todo: He releido monton de foros, ke si URLDecoder, previo encoder y cosas de estas, y me seguia mostrando los carácteres mal.

    La verdad es que me molesta bastante tener que crear un nuevo string, pero almenos funciona! merci ;)

  6. Renzomaru says:

    ufff, buena causa, me salvaste de una reinstalacion del java y hasta de una formateada a la maquina(en mi desesperacion pensaba que era eso)

    gracias tio

  7. Poseidon says:

    Execelente el mejor post que encuentro.

  8. eMe says:

    Gracias, tengo una reunión mañana y hasta ahora por la noche no me habia dado cuenta de este detalle, me has salvado tio, genial, te lo agradezco en el alma.

  9. bein says:

    MUCHAS GRACIAS, después de muchos días de haber buscado la solución me encuentro con esto, :’( hoy aprendi algo más para mi :D lo posteare… y te daré credito man…

  10. álvaro says:

    muchas gracias!!, al fin encontré una solución al problema.

  11. leidy says:

    LLevo dias solucionando este problema..hasta q por fin sos grande!!

  12. Spike says:

    Amigo… siempre hay que batallar para que los acentos lleguen bien a los servlets, el problema había sido resuelto, pero UNO SOLO de mis jsp no funcionaba correctamente… pfff muchas gracias por tu ayuda!!

Leave a Reply