title: How to force javax xslt transformer to encode national characters using utf-8 and not html entities?
body: <p>I'm working on filter that should transform an output with some stylesheet. Important sections of code looks like this:</p>
  
  <pre><code>PrintWriter out = response.getWriter();
  ...
  StringReader sr = new StringReader(content);
  Source xmlSource = new StreamSource(sr, requestSystemId);
  transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
  transformer.setParameter("encoding", "UTF-8");
  //same result when using ByteArrayOutputStream xo = new java.io.ByteArrayOutputStream();
  StringWriter xo = new StringWriter();
  StreamResult result = new StreamResult(xo);
  transformer.transform(xmlSource, result);
  out.write(xo.toString());
  </code></pre>
  
  <p>The problem is that national characters are encoded as html entities and not by using UTF. Is there any way to force transformer to use UTF-8 instead of entities?</p>