Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con Portlets y Tildes

Estas en el tema de Problema con Portlets y Tildes en el foro de Java en Foros del Web. Hola, Mi entorno de trabajo es jetspeed. Actualmente tengo un portlet, que en el modo edit me presenta una página jsp con un formulario de ...
  #1 (permalink)  
Antiguo 08/06/2006, 07:02
 
Fecha de Ingreso: junio-2006
Mensajes: 13
Antigüedad: 17 años, 10 meses
Puntos: 0
Problema con Portlets y Tildes

Hola,
Mi entorno de trabajo es jetspeed. Actualmente tengo un portlet, que en el modo edit me presenta una página jsp con un formulario de captura de datos del tipo “multipart/form-data”, el cual se encarga de obtener datos provenientes de cuadros de texto, así como de realizar el upload de ficheros (para este último utilizo el api commons-file-upload.jar)

Una vez capturados los almaceno en una BBDD MySQL mediante OJB.

El problema es que al capturar texto que incluye tildes y eñes, me almacena en la base de datos caracteres del tipo (ã+) en lugar de las tildes o eñes.

La capa de persistencia funciona correctamente (OJB me permite almacenar caracteres con tildes y eñes en la BD y luego mostrarlos correctamente en otra página jsp ). El problema está en la captura de estos elementos desde el formulario.

He probado cambiando el juego de caracteres a ISO-8859-1, y nada. También he probado incluyendo en la etiqueta form el accept-charset="ISO-8859-1" pero tampoco funciona.

Llevo varios días trabajando con el problema y estoy a punto de volverme loca….

Por favor necesito ayuda… SOS SOS SOS SOS
  #2 (permalink)  
Antiguo 09/06/2006, 12:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
El problema suele ser que los navegadores no envian correctamente el encoding que usan en su request, ignorando que se lo pongas o no en el form o en la pàgina.

La solución habitual suele ser un ServletFilter que ponga explicitamente el encoding que toca a todas las peticiones que sabemos que lo tienen.
Tuve un problema parecido y lo resolví así, la discusión la puedes leer aquí, donde hay un enlace al código de un Servlet Filter para eso, por si no lo tienes ya hecho:

http://jroller.com/page/greeneyed?en...oding_problems
  #3 (permalink)  
Antiguo 12/06/2006, 04:51
 
Fecha de Ingreso: junio-2006
Mensajes: 13
Antigüedad: 17 años, 10 meses
Puntos: 0
Muchas Gracias.....

Es una muy buena idea, voy a intentar trabajar en ella....., estoy seguro de que el fallo está ahí, ya que viendo las propiedades de mi página (p.e. en mozilla), en las etiquetas meta aparece como codificación el iso-8859-1, pero la página aparece como UTF-8, .... es decir, pasa tres kilos de las etiquetas meta....

Muchísimas gracias, ... voy a intentarlo....
  #4 (permalink)  
Antiguo 12/06/2006, 05:03
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Hay multiples formas de especificar el encoding, el encoding por defecto, a través de una cabecera HTTP, a traves de un META encoding, dentro del FORM... y los navegadores tienen distintas reglas de preferencia y algunas simplemente se las pasan por el forro. Y si especificas distintos encoding de distintas formas, ya la repanocha, como me paso a mi intentando arreglar una aplicacion que habian hecho otros.

El filtro fue lo único que lo arregló para todos los navegadores, así que ver si también te funciona.

Suerte
  #5 (permalink)  
Antiguo 12/06/2006, 11:12
 
Fecha de Ingreso: junio-2006
Mensajes: 13
Antigüedad: 17 años, 10 meses
Puntos: 0
Más problemas.....

Muy buenas GreenEye..., creo que las cosas no son tan fáciles como parecen... el problema es la api de los portlets (javax.portlet), la cual no tiene definida las clases filfer y demás.... (lo cual no ocurre con la de los servlets, y eso que una está basada en la otra) seguiré investingando.....

Gracias de antenemano....
  #6 (permalink)  
Antiguo 12/06/2006, 11:37
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
¿Y no puedes colocarle un servlet filter a la aplicacion web donde corren tus portlets? Si tu "portlet container" es un servlet, entonces tendras un web.xml, le cascas alli el Servlet Filter y listo. La cuestion será encontrar el mapping para que no rompa otras partes de la aplicación, si es que el filter no les gusta.
  #7 (permalink)  
Antiguo 13/06/2006, 04:39
 
Fecha de Ingreso: junio-2006
Mensajes: 13
Antigüedad: 17 años, 10 meses
Puntos: 0
Lo intentaré

Voy a intentarlo... y si no... a probar.... Pero lo tendré que intentar el Lunes, ya que me ha tocado viajar... el Lunes te cuento....

Gracias de antemano.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:47.