Programación General > JSP/Servlets

 Problema de codificación

(1/1)

vrash:
Hola, tengo un problema con la codificación de un String cuando lo recojo de una base de datos MySQL (ñ y acentos) usando el servidor Tomcat 6.

Suponiendo que en MySQL tengo una tabla llamada op que muestra lo siguiente al hacer un SELECT:

--- Código: SQL --- mysql> SELECT * FROM op;+------+| op   |+------+| ñ    |+------+1 ROW IN SET (0.00 sec)  
En mi servlet tengo algo parecido a esto:

--- Código: Java --- request.setAttribute("cad1", resultSet.getString("op"));request.setAttribute("cad2", "ñ");  
Mando los datos usando forward a una pagina jsp donde tengo:

--- Código: Text --- ${cad1} ${cad2} ${"ñ"} ñ 
Sorpresivamente (al menos para mi) la salida en la pagina web es esta:

--- Citar ---¤ ñ ñ ñ
--- Fin de la cita ---

Que es lo que estoy haciendo mal??
Resalto poner los 4 datos, porque se pueden dar cuenta que el error ocurre solo cuando obtengo la String desde la bd.

He buscando durante horas en San Google e intentado muchas cosas que he encontrado y sigue el problema.
En este momento, tengo la tabla en MySQL con codificación UTF-8 al igual que la página jsp.
Ya he probado a cambiarles la codificación a ambas y nada.

Espero puedan ayudarme y de antemano muchas gracias por tomarse la molestia de leer mi problema.

arielb:
en el jsp le coloco esto

--- Código: Text ---<%@ page contentType="text/html;charset=windows-1252"%><html>  <head>    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>    <meta http-equiv="Pragma" content="no-cache,no-store,max-age=0"/> 
y  también puedes hacer esto


--- Código: Java ---byte[] stringValue = rs.getBytes("nombreColumna");String str = new String(stringValue,"iso-8859-1"); 
hasta el momento no he usado la segunda opción.

vrash:
Muchas gracias por tu respuesta juez, sin embargo, me temo que ninguna de las 2 soluciones resolvió mi problema.
Intente con la primera únicamente, y nada, después con la segunda únicamente y nada.
Al final use las dos a la vez y nada.
Seguiré buscando una solución.

arielb:
intenta cambiando el charset

Navegación

[0] Índice de Mensajes

Ir a la versión completa