Bonjour,
J'ai une gallerie en jsp qui affiche des balises images "img" dont l'attribut "src" fait appel à un servlet qui retourne une image redimensionnée (150x150) de l'image réelle qui se trouve dans une repository sur le serveur (le chemin provient de la BD).
Le problème, c'est qu'il y a parfois des accents dans le chemin de l'image et que ceux-ci deviennent des "?" une fois la requête rendue au servlet.
Exemple :
Le chemin de l'image dans les BD est ceci-ci : "C:\Repository\un bel été.jpg". La source de l'image devient donc :
<img src="XXXXXXX/ImageLoadingServlet?width=150&height=150&filename=C:\Repository\un bel été.jpg" alt="" border="1" width="150" height="150">
Rendu dans le servlet, il y a ceci :
String filename = request.getParameter("filename");
Filename a maintenant pour valeur : "C:\Repository\un bel ?t?.jpg".
Évidemment ça dit que ce fichier-là existe pas.
Quand je fais getQuerystring() sur la request, les accents apparaissent sous la forme normale pour un charactère spécial dans une URL, c'est à dire : %E8, %E9, etc...
Pourquoi java remplace les caractère spéciaux sous la forme %E9 par "?" et non par "é" ????
J'ai essayé de jouer sur l'encodage de la page (encoding), de la requête (setCharacterEncoding) et des caractères (CharsetDecoder). Rien ne marche jusqu'à présent.
Merci de m'aidez !
Partager