Bonjour, j'ai un problème d'encondage je n'arrive pas à appliquer l'UTF-8 à mes paramètres POST.

J'ai essayé de placer "request.setCharacterEncoding( "UTF-8" )" dans le doPost de ma Servlet cela ne fonctionne pas.


J'ai alors essayé d'appliquer un Filter comme ceci :

Placé au debut de mon fichier XML.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 <filter>
    <filter-name>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>Encoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

J'ai ensuite essayer de créer mon propre filtre, bien sur en changeant la classe dans mon xml.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package filter;
 
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
 
 
 
public class EncodingFilter implements javax.servlet.Filter {
	private String encoding;
	public void init(FilterConfig filterConfig) throws ServletException {
		this.encoding = filterConfig.getInitParameter("encoding");
	}
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
		request.setCharacterEncoding(encoding);
		filterChain.doFilter(request, response);
	}
	public void destroy() {
	}
}

Cela ne fonctionne toujours pas !


Mes jsp contiennent les balises
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

et HTML :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

J'ai redémarré plusieurs fois mon serveur Tomcat mais ca ne fonctionne toujours pas j'obtiens des paramètres du type : nom=étrange .

Je ne comprend ou est le problème dans mon Filter tout ceux que je vois sur le net sont plus ou moins identiques.