Salut à tous et joyeux Noël pour ceux qui le fetent.
Je suis sur un projet Servlet,XML/XSL et j'ai quelques soucis avec le validator W3C qui me renvoie ça:
The character encoding specified in the HTTP header (iso-8859-1) is different from the value in the <meta> element (utf-8).
Ce qui me pose problème pour le moment c'est l'encodage de la réponse. J'ai mis partout ou je pouvais UTF-8 mais rien a faire. Le validateur m'indique toujours que dans les headers c'est ISO-8859-1 alors que comme le montrent les bouts de code ci dessous j'ai essayé de le préciser partout ou c'est possible (j'ai même testé UTF8, utf-8 et UTF-8 )
Extrait de la servlet
1 2 3 4 5 6 7 8 9
| public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
PrintWriter out = response.getWriter();
response.setContentType("text/html; charset=utf-8");
response.setCharacterEncoding("utf-8");
//Suite du code
transformer.transform(source, new StreamResult(out));
} |
Voici les entêtes du XSL et du XML qui sont utilisés pour la transformation;
XSL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output
method="html"
encoding="utf-8"
doctype-public="-//W3C//DTD HTML 4.01//EN"
doctype-system="http://www.w3.org/TR/html4/strict.dtd"
indent="yes" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body></body>
</html> |
XML
<?xml version="1.0" encoding="utf-8"?>
Si vous avez une idée n'hésitez pas parce que je vois pas ce que je pourrais préciser de plus.
Merci
Partager