Artículos
Java

Forzar UTF-8 en JSP

07/Oct/2021

Al trabajar con página JSP o Java Server Pages es muy común que tengamos problemas manejando la codificación de las mismas, bien sea por no saber qué tipo de encoding debemos de utilizar o bien porque se nos olvida incluirlo en la definición de la página. Es por ello que puede resultar muy útil el poder forzar un encoding para todas las páginas JSP que tengamos en nuestra aplicación. En este caso vamos a ver cómo podemos forzar UTF-8 en JSP.

Lo primero que haremos será recordar cómo se define el encoding dentro de una página JSP. En este caso tenemos dos alternativas, la primera es definir el encoding mediante la directiva page y el atributo contentType. A este atributo le daremos el valor del encoding mediante el charset. Quedará de la siguiente forma:

<% page contentType="text/html; charset=uft-8"%>

Esta definición deberemos de hacerla al principio de la página antes de volcar ningún contenido mediante los elementos PrintWriter or JspWriter.

Si por algún motivo no hemos definido el contentType mediante la directiva page. Podemos recurrir al método .setContentType del objeto Response.

<% response.setContentType( "text/html; charset=utf-8" ); %>

Esto lo podremos hacer en cualquier momento de nuestro código.

Si bien, ambas alternativas, hay que aplicarlas página a página, con los riesgos que comentábamos al principio. Es por ello que vamos a ver cómo podemos forzar UTF-8 en JSP para todas las páginas de nuestra aplicación. Para ello, deberemos de modificar el fichero web.xml de la aplicación.

En este fichero vamos a crear un elemento jsp-config, dentro del cual crearemos un elemento jsp-property-group. Esto nos va a permitir dar una configuración a un conjunto de páginas.

Para establecer este conjunto utilizamos el elemento url-pattern, y dado que queremos tener todas las páginas JSP le damos el valor de «*.jsp». Por otro indicaremos mediante el elemento page-encoding el valor del encoding a forzar en las páginas. En nuestro caso vamos a darle el valor «utf-8».

De esta manera el código a incluir en el web.xml para poder forzar UTF-8 en JSP será el siguiente:

<jsp-config>
  <jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <page-encoding>UTF-8</page-encoding>
  </jsp-property-group>
</jsp-config>

Espero que este pequeño consejo os sea de mucha utilidad.

Código Fuente

Descárgate el código fuente de Forzar UTF-8 en JSP
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
0 Comentarios
Opiniones integradas
Ver todos los comentarios