Version 1

    In admin console I have the following configuration:

     

    Configuration->Web-Servlet:

     

    Allow non standard wrappers:

     

    false

     

    Default buffer cache:

     

    default

     

    Default encoding:

     

    UTF-8

     

    Default session timeout:

     

    30

     

    Disable caching for secured pages:

     

    true

     

    Eager filter initialization:

     

    false

     

    Ignore flush:

     

    false

     

    Stack trace on error:

     

    local-only

     

    Use listener encoding:

     

    true

     

    And the following resource:

    @Path("/user")

    @Produces(MediaType.APPLICATION_JSON)

    public class UserResource

    {

        private UserService userService;

     

        @GET

        @Path("/{param1}-{param2}")

        public Response printMessage(@PathParam("param1") String param1, @PathParam("param2") String param2)

        {

            return Response.ok().entity(new TestObject(param1, param2)).build();

        }

    }

     

    When I invoke this resource by URL (regardless of url encoded or not), the result is always windows-1252.
    Input: testfrench-François

    Output: {"name1":"testfrench","name2":"François"}

     

    How to get UTF8?