mika-el
3/28/2018 - 12:38 PM

Encodage

Encodage de requete:

Le serveur considère par défaut que les données qui lui sont transmises suivent l'encodage latin ISO-8859-1, alors qu'en réalité ce sont des données en UTF-8 qui sont envoyées.
Pour corriger ce comportement, il est nécessaire de creer un filtre avec un appel à la méthode setCharacterEncoding() depuis l'objet HttpServletRequest. Tomcat propose déjà un tel filtre nativement.

<filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>ignore</param-name>
        <param-value>false</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Encodage de reponses

Pour appliquer l'UTF-8 à toutes les JSP, dans le fichier web.xml:

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