Bonjour,
J'ai un soucis lorsque je récupère depuis ma fonction javascript une chaine de caractères contenant des "é, à, ..." . A l'aide d'une méthode Java, je remplis un tableau conteant des chaines de caractères issues d'un code et de son libellé concaténés :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
public void listFonctionByModule(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws TwreException, IOException {
ActionErrors errors = new ActionErrors();
ReferencesCommunsCmd referencesCommunsCmd = new ReferencesCommunsCmd();
RcGroupefonctionFB rcGroupefonctionfb = (RcGroupefonctionFB) form;
GroupefonctionVO groupefonctionvo = new GroupefonctionVO();
String module = request.getParameter("module");
PrintWriter out = response.getWriter();
ListeFonc listeFonc = new ListeFonc();
Vector liste = new Vector();
String codegroupe = "";
Vector list1 = new Vector();
try {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
// récupérer la liste des fonctionnalités
liste = referencesCommunsCmd
.getListeFonctionnalitesByModule(module);
System.out.println("RcGroupefonctionACT.listFonctionByModule()"
+ liste.size());
for (int i = 0; i < liste.size(); i++) {
FonctionnalitesVO foncvo = new FonctionnalitesVO();
foncvo = (FonctionnalitesVO) liste.get(i);
System.out.println("RcGroupefonctionACT.listFonctionByModule()"
+ foncvo.getRclibdescfonction());
list1.add(ConvertUtil
.converToString(foncvo.getRccodefonction())
+ "|"
+ ConvertUtil
.converToString(foncvo.getRccodefonction())
+ " - " + foncvo.getRclibdescfonction());
}
request.setAttribute("list1", list1);
rcGroupefonctionfb.setIds1(new String[list1.size()]);
out.println(list1);
out.flush();
} catch (TwreException e) {
errors.add("name", new ActionError(e.getMessage()));
} finally {
if (!errors.isEmpty())
saveErrors(request, errors);
}
} |
Le System.out que j'ai placé dans la boucle, m'affiche bien les libellés correctement sur la trace de mon serveur.
Cependant lorsque je récupère le tableau à travers ma fonction JavaScript (qui au passage est une fonction AJAX) :
var tr = ""+req.responseText;
et que je l'affiche grâce à un alert, il me transforme les accents par des "carrés".
Dernière chose, mon fichier struts-layout.tld à pour entête :
<?xml version="1.0" encoding="ISO-8859-1" ?>
Et mon fichier struts-layout.xml à pour entête :
<?xml version="1.0" encoding="UTF-8" ?>
Comment résoudre mon problème au niveau de ma fonction JS. et lequel des ces encodage est utilisé?
Merci
Partager