Ciao a tutti,
ho un problema con la codifica dei caratteri in una servlet e ne esco...
Queste sono le parti salienti del codice:
Il codice che mi genera la stringa xml è il seguente:codice:public class MyServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... ... String output = XmlConverter.toXml(xmlObject); response.setContentType("text/xml; charset=UTF-16"); response.setCharacterEncoding("UTF-16"); response.getWriter().println(output); } }
(la classe XStreamGae è una versione custom della classe XStream adattata per funzionare su Google App Engine, dove hosto la servlet.)codice:public static String toXml(Object map) { XStreamGae xstream = new XStreamGae(new DomDriver("UTF-16", new XmlFriendlyNameCoder("_-", "_"))); xstream.autodetectAnnotations(true); return xstream.toXML(map); }
Ora... Se faccio il deploy in locale tutto funziona alla perfezione.
Se faccio il deploy su Google App Engine invece ho problemi coi caratteri: le lettere accentate le vedo come dei simboli strani, idem per altri caratteri "particolari".
Perché?
Da codice mi pare di aver specificato UTF16 ovunque... Cosa mi sfugge?
Grazie![]()

Rispondi quotando
