Bonsoir,
Je souhaiterais ajouter des caractères avec des accents dans mes ".jsp" et ".html" mais lorsque j'écris ces caractères accentués dans ces fichiers et que je charge mes pages :
- "è" devient "é"
- "ç" devient "ç"
- "é" devient "Ã "
Mes étapes :
- J'ai configuré Eclipse pour générer les fichiers avec l'encodage UTF-8 (j'ai bien vérifié que le format de mes .jsp et .html dans le dossier /src ou /target, ils sont en UTF-8).
- Aucun de mes fichiers .jsp ou .html (dans le dossier /src ou /target) ne contient explicitement ces caractères bizarres (cf : "é", "ç", "à ").
- Tous mes fichiers .jsp contiennent ceci au début :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta content="IE=edge" http-equiv="X-UA-Compatible" /> <meta content="width=device-width, initial-scale=1" name="viewport" /> <!-- ... --> </head>- J'ai ajouté ces paramètres dans le fichier appengine-web.xml :
J'ai aussi essayé d'ajouter ce morceau de balise ci-dessous comme indiqué dans la documentation de Google App Engine mais mon application lance une Exception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <system-properties> <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/> <!-- Ajouté ci-dessous --> <property name="file.encoding" value="UTF-8" /> <property name="DEFAULT_ENCODING" value="UTF-8" /> </system-properties>
La documentation de Google App Engine dit que (source) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <env-variables> <env-var name="DEFAULT_ENCODING" value="UTF-8" /> </env-variables>
J'ai donc fait en sorte de supprimer ce morceau de XML qui génère un conflit et j'ai ajouté la variable d'environnement suivante dans mon système : DEFAULT_ENCODING = UTF-8To avoid conflicts with your local environment, the development server does not set environment variables based on this file, and requires that the local environment have these variables already set to matching values. (This does not apply to system properties.)
Bref :
- Quand j'utilise Firebug pour voir le réseau, ce dernier m'indique bien Content-Type text/html; charset=utf-8 pour la page que j'ai chargé.
- L'outil de Google m'a par défaut ajouté <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> dans mon fichier pom.xml lorsque j'ai généré le projet.
Fait intéressant :
Lorsque je charge du code HTML récupéré à partir de fichier texte avec AJAX il n'y a pas de problème, les caractères "é" ou "ç" sont récupérés correctement. J'ai utilisé le même code que BalusC (vous remarquerez qu'il utilise response.setCharacterEncoding("UTF-8");). M'enfin bref n'explique toujours pas pourquoi j'ai des problème lorsque j'écris des caractères accentués directement dans mes .jsp
Ma configuration:
- Maven 3.2
- IDE: Eclipse Luna
- OS: Windows 7
J'ai l'impression d'avoir tout essayé, je galère vraiment, merci pour votre aide![]()
Partager