RE: Caracteres extraños en JSP

thumbnail
Carlos Durán, modified 6 Years ago. New Member Posts: 21 Join Date: 11/5/14 Recent Posts

Tengo preparado un bundle de Tomcat con Liferay 7.1. Cuando cargo la JSP de un portlet con caracteres especiales (tildes, ñ, etc.) se muestran caracteres extraños:

Con respecto a las configuraciones que pueden afectar al encoding, tengo las siguientes:

  • El Tomcat arranca con el parámetro -Dfile.encoding=UTF8
  • En el Eclipse, el fichero de la JSP usa la codificación UTF-8
  • En el código fuente de la página generada se carga con <meta content="text/html; charset=UTF-8" http-equiv="content-type">.

Si incluyo el texto afectado en el fichero Language.properties y lo cargo con el taglib liferay-ui:message el texto aparece correctamente.

También he probado que incluyendo el snippet <%@ page pageEncoding="UTF-8" %> y los caracteres se muestran correctamente, pero me gustaría no tener que estar metiéndolo en todas las JSP's.

¿Alguna idea de lo que me puede faltar?

Un saludo.

 

thumbnail
Ibai Ruiz, modified 6 Years ago. New Member Posts: 6 Join Date: 7/7/17 Recent Posts

Por curiosidad, si abres la JSP con otro editor que no sea Eclipse, el encoding sigue siendo UTF-8 y los caracteres se ven bien? A veces me ha pasado en Windows que al cambiar el encoding de un archivo con Eclipse no ha cogido bien los cambios.

 

Un saludo,

Ibai

thumbnail
Carlos Durán, modified 6 Years ago. New Member Posts: 21 Join Date: 11/5/14 Recent Posts

Estoy usando Linux (Fedora concretamente).

De todos modos, he abierto el archivo con Geany y me aparece UTF-8 como codificiación de caracteres.

thumbnail
Carlos Durán, modified 6 Years ago. New Member Posts: 21 Join Date: 11/5/14 Recent Posts

Más cosas que he mirado/probado.

He añadido en el fichero build.gradle la siguiente configuración:

compileJava.options.encoding = 'UTF-8'

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

He descomprimido el JAR localizado en liferay-ce-portal-7.1.1-ga2/osgi/modules y el fichero view.jsp se ve correctamente y me lo detecta como UTF-8 (usando Geany).

Desafortunadamente, la JSP sigue mostrando mal los caracteres especiales.

thumbnail
Carlos Durán, modified 6 Years ago. New Member Posts: 21 Join Date: 11/5/14 Recent Posts

Al final he visto que usando el encoding ISO-8859-1 en la JSP, los caracteres se muestran correctamente.

Un saludo.