Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/02/2011, 11:13
Avatar de Fuzzylog
Fuzzylog
 
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Manejar el símbolo de € procedente de una BD codificada en ISO-8859-1

Hola

Me ha surgido la siguiente necesidad.

Tengo una aplicación web que trabaja contra una base de datos codificada en ISO-8859-1. Si bien las jsp tienen el charset ISO-8859-15 y muestran el símbolo del euro (€) correctamente, en la BD se guarda como un interrogante (¿).

El problema es que tengo que generar un excel con POI a partir de una plantilla y enviar también un correo, y para esos casos el símbolo del euro viene tal y como se recupera de la base de datos, con lo cual no es capaz de mostrarlo correctamente.

Tanto en el excel como en el correo se me muestra así ("[]"). Y vendría dentro de un String.

Tengo entendido que java viene codificado en UTF-16.

Me gustaría saber si existe alguna forma de recoger la variable del euro errónea y recodificarla para que se muestre correcta en el excel y en el mail.

Lo más cerca que he visto a java hacer esto es utilizando DecimalFormatSymbols, pero para convertir un número en un decimal al que se le agrega el símbolo monetario del país segun el locale.

Si alguien me puede ayudar lo agradecería.

Ejemplo: Para un String x
Este texto tiene el [] contenido en su interior
Querría que se viese como
Este texto tiene el € contenido en su interior

Un saludo