When a POST request is made with a Content-Type header that contains a "charset" attribute, then ServletRequest.getCharacterEncoding() should return the value of that attribute. However, Jetty does not appear to do this, and returns null from getCharacterEncoding unless it is explicitly set.
For example, if I invoke a servlet via POST and include the header:
Content-Type: text/plain; charset=ISO-8859-1
Then ServletRequest.getCharacterEncoding() should return "ISO-8859-1". However, it returns null.
This is not exactly obviously stated in the Servlet specification, but I can see a test in the CTS that checks for it.