Salve,
stò lavorando per un progetto universitario e mi sono imbattuto in un problema che non riesco a risolvere, sono stato tutta la nottata a sbatterci la testa provando tutte le alternative che sono riuscito a trovare in rete ma con pochi risultati.

Il progetto si basa su un'applicazione client/server con server tomcat, uso delle richieste ajax tramite la classe BuilderRequest di GWT che implementra richieste di tipo REST, e le risposte dall'altra parte mi vengono fornite da alcune Servlet.

Il problema si presenta solo quando vado a caricare online il progetto su macchine che montano tomcat su sistemi linux, mentre in locale ho preferito lavorare con tomcat su windows.

Il problema in pratica consiste in una errata codifica sulla parte server, dunque sulle servlet, e si presenta con caratteri particolari del tipo *α, β* che nelle richieste vengono convertiti in esadecimale tipo: %C1%B6 (esempio g. servlet?char=%C1%B6)


questi parametri dovrebbero essere passati al processore saxon che dovrebbe processare alcuni xml tramite dei fogli xslt, ma dato che questi parametri di input hanno una codifica errata, non mi vengono restituiti i risultati aspettati.

la soluzione che funziona *solo su windows* è quella di convertire il carattere in utf8 in questo modo:

codice:
Byte[] b= null;
String inputChar =  request.getParameter("carattere");
b = inputChar.getBytes();
ByteArrayOutputStream ris = new ByteArrayOutputStream();
ris.write(b);
inputChar = test.toString("utf-8");
ho provato anche a codificare con varie classi che implementavano metodi per fare *encode e decode* degli uri ma senza nessun risultato.

qualcuno ha qualche consiglio da propormi?

grazie mille