Problemas de encoding Vraptor + AJAX

Continuando a discussão do Problemas com acentuação no Vraptor com Json:

Estou tendo problemas de acentuação com páginas JSP, Vraptor e ajax.
Já tentei de tudo, como no tópico citado.

No web.xml:

<context-param>    
    	    <param-name>br.com.caelum.vraptor.encoding</param-name>    
    	    <param-value>UTF-8</param-value>    
</context-param>

Em todas as páginas:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

Mudei o encoding para UTF-8 nas configurações do eclipse e até na requisição ajax.

contentType: 'application/x-www-form-urlencoded; charset=UTF-8'

O problema

O @mrcbrizoti apresentou uma possível solução para problema de acentuação com ajax:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="UTF-8"%> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

Nesse Forum do Vraptor foi proposto criar uma classe utilitária para converter de ISO-8859-1 para UTF-8 no recebimento do parâmetro:

public static String decoderText(String texto) {
    try {
        byte[] bytes = texto.getBytes("ISO-8859-1");
        texto = new String(bytes, "UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
        return texto;
    }

    return texto;
}

https://groups.google.com/forum/#!topic/caelum-vraptor/DVjKvpkgKR0

Achei essas soluções bastante duvidosas, alguém entende o problema de usar UTF-8, um padrão internacional, com o jquery.ajax()?
Quero uma solução definitiva, sem ter que alterar todo meu projeto para ISO-8859-1.

Acabei de verificar que em algumas chamadas AJAX não há problema de acentuação. Tenho por exemplo uma página com dois pontos onde é feita requisição AJAX, e só em um dá problema de acentuação.
Estou tentando descobrir o motivo.

Consegui resolver, após muitas horas de pesquisa e tentativas frustradas.

Se você também já tentou tudo e não conseguiu, tente trocar isso:

$.ajax({
    	type: "POST",
    	url: "${pageContext.request.contextPath}/textEditor/analyze",
    	data: "text="+text,
    	success: function(result) {
    		$("#result").html(result);
    		$("#result").show();
    		createCharts();
    	}
    });

Por isso…

	    $.ajax({
	    	type: "POST",
	    	url: "${pageContext.request.contextPath}/textEditor/analyze",
	    	data: {text:text},
	    	success: function(result) {
	    		$("#result").html(result);
	    		$("#result").show();
	    		createCharts();
	    	}
	    });

Quando eu envio uma lista de parâmetros ({}) para a função ajax parece que ela usa UTF-8 normalmente, mas quando uso o padrão GET (param1=a&param2=b) dentro de um POST, não funciona (codifica em ISO-8859-1).