How do I encode UTF-8 using the XStream framework?
Per XStream's FAQ its default parser does not preserve UTF-8 document encoding, and one must provide their own encoder. How does one do this? Thanks! Create a Writer with UTF-8 encoding. Pass the Writer as an argument to XStream's toXML method. XStream xstream = new xStream(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); Writer writer = new OutputStreamWriter(outputStream, "UTF-8"); xStream.toXML(object, writer); String xml = outputStream.toString("UTF-8"); You may also use that Writer to include the XML Declaration. writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?