Ciao
ormai è da un giono e mezzo che ci sbatto la testa ma non ne vango a capo.
nel db il charset è utf-8. Nelle pagine jsp ho dovuto settare ISO-8859-1 altrimenti mi dava problema sui caratteri accentati. Ora in 2 pagine in particolare, posso pescare da db un richiedente esistente. faccio una chiamata con ajax e mi faccio restituire una stringa, dove ogni elemento lo separo con "|". una volta presi i dati splitto il tutto e riempo i campi di un form. Solo quando prendo i dati tramite ajax i caratteri accentati diventano rombi con un punto interrogativo all'interno. il metodo che uso in ajax è get e all'url passo anche un attributo. Ho provato a cercare nel forum ma non sono riuscito a trovare soluzioni. Nella action (uso struts 2) ho fatto stampare le variabili nel log e sono corrette. nella jsp niente da fare
di seguito la parte di ajax:
la classe java:codice:url = "getRichiedente.action?id=" + ricc; ajax.open("get", url, true); ajax.setRequestHeader("content-type", "text/html;charset=ISO-8859-1"); ajax.setRequestHeader("connection", "close"); // impostazione controllo e stato della richiesta ajax.onreadystatechange = function() { // verifica dello stato if(ajax.readyState === readyState.COMPLETATO) { alert(ajax.getAllResponseHeaders()); //alert(ajax.getResponseHeader("content-type")); // verifica della risposta da parte del server if(statusText[ajax.status] === "OK"){ // operazione avvenuta con successo var tmp = ajax.responseText; //campi = encodeURIComponent(tmp); //alert(campi); var campi = tmp.split("|"); baseForm.cognomeG.value = campi[0]; //alert(campi[0]); //alert(campi[1]); baseForm.nomeG.value = campi[1]; baseForm.codFiscale.value = campi[2]; ....................
codice://dopo aver preso i dati dal db e messo tutto nella String result byte[] bArray = result.getBytes(); inputStream = new ByteArrayInputStream(bArray);

Rispondi quotando