Modifier l’encodage des fichiers de configuration tels que
le descripteur de l'application
WEB-INF/web.xml.
les descripteurs
TLD des bibliothèques de tag
WEB-INF/tlds/biblio1.tld
Modifier toutes les pages JSP pour y inclure l’encodage UTF-8.
Pour les pages utilisant la syntaxe standard JSP, ajouter la ligne suivante au début de chaque fichier.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
L'attribut
pageEncoding indique au serveur d'application (ici Tomcat) l'encodage du fichier source de la page JSP pour sa bonne lecture lors de la
traduction en source Java.
L'indication
charset=UTF-8 indique l'encodage utilisée dans la réponse HTTP faite au navigateur.
Attention, la gestion de l'attribut
pageEncoding est différente selon les versions de la spécifique des JSP (notamment la gestion des fragment JSP inclus).
S'il est absent, la valeur du
charset de l'attribut
contentType sera prise en compte.
On peut simplifier l'adaptation des sources en déplaçant la déclaration d'encodage dans le descripteur
web.xml.
<web-app ...>
. . .
<jsp-property-group>
<url-pattern>/jsp/*</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</web>
Pour les pages JSP écrites avec la syntaxe XML, l'attribut
pageEncoding doit reprendre la même valeur que la déclaration XML initiale au début de la page.
<?xml version="1.0" encoding="UTF-8" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">
contenu de la page
</jsp:root>
Dans les fichiers
tagfile, situés conventionnellement dans
WEB-INF/tags/, ajouter la déclaration d’encodage du fichier.
<%@ tag pageEncoding="UTF-8" %>