Note that there are some explanatory texts on larger screens.

plurals
  1. POTomcat's JspWriter not correctly encoding
    primarykey
    data
    text
    <p>I have a default setup of Tomcat 7 and everything java-related configured to use utf-8.</p> <p>This does not work (utf-8 characters are mangled):</p> <pre><code>&lt;%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%&gt; &lt;%@ page import="java.net.*" %&gt; &lt;%@ page import="java.io.*" %&gt; &lt;% URL target = new URL("http://en.wikipedia.org/wiki/Main_Page"); Reader input = new BufferedReader(new InputStreamReader(target.openStream())); StringWriter buffer = new StringWriter(); char[] chrs = new char[1024 * 4]; int n = 0; while (-1 != (n = input.read(chrs))) { buffer.write(chrs, 0, n); } StringReader reader = new StringReader(buffer.toString()); n = 0; while (-1 != (n = reader.read(chrs))) { out.write(chrs, 0, n); } %&gt; </code></pre> <p>This does, but logs IllegalStateExceptions:</p> <pre><code>&lt;%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%&gt; &lt;%@ page import="java.net.*" %&gt; &lt;%@ page import="java.io.*" %&gt; &lt;% URL target = new URL("http://en.wikipedia.org/wiki/Main_Page"); Reader input = new BufferedReader(new InputStreamReader(target.openStream())); StringWriter buffer = new StringWriter(); char[] chrs = new char[1024 * 4]; int n = 0; while (-1 != (n = input.read(chrs))) { buffer.write(chrs, 0, n); } StringReader reader = new StringReader(buffer.toString()); OutputStreamWriter output = new OutputStreamWriter(response.getOutputStream()); n = 0; while (-1 != (n = reader.read(chrs))) { output.write(chrs, 0, n); } %&gt; </code></pre> <p>I've been searching but found no answers. Is this a bug in Tomcat, or is there something I'm missing?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload