Problemas con charset con JSF y messages.properties

Estoy desarrollando un aplicación web con JBOSS AS 7.1 usando JSF. Este tipo de emprendimientos los hacía usando Spring. Entiendo que Java EE 6 tiene muchas cosas que antes eran características de Spring, por eso me animé al salto.

Todo venía bien (con las marchas y contramarchas propias del self made java ee developer) hasta que tope con un problema de encoding del message.properties.

Parece que por defecto te imprime los carácteres en el locale de la máquina. Mi sistema operativo para mi idioma usa iso-latin-1. Los templates están en utf8, el message.properties está en utf-8. Desastre en puerta.

Googleando un poco me enteré que por cuestiones de implementación, las properties no puede usar código que no estén en el mapa de latin-1.

Una manera de evitar el problema era representar los caracteres especiales con la notación \u####, donde #### es el código UTF del carácter. Esto se podía hacer trabajando con el archivo en utf8 y a la hora de desplegar, convertir el archivo original en código ASCII + \u#### usando la herramienta native2ascii provista con la jdk.

Medio lastimoso.

En la url citada más arriba proponen sustituir la implementación del resource bundle por una que soporte UTF-8. El código lo puede ver en el artículo Internationalization in JSF with UTF-8 encoded properties files. El único cambio que le hice fue usar otra ubicación para el archivo por messages.properties, cambiándola en la constante BUNDLE_NAME = “messages”.

Con eso funcionó de pelos.

Por un momento extrañé a Spring😛

Etiquetas: , , , , ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: