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:
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];
                                ....................
la classe java:
codice:
//dopo aver preso i dati dal db e messo tutto nella String result
 byte[] bArray = result.getBytes();
 inputStream = new ByteArrayInputStream(bArray);