Charset - VRaptor + JQuery

Olá Pessoal,
Boa madruga…

Eu estava enfrentando um problema de charset, somente quando fazia requisição AJAX com jQuery, usando o método da apostila da Caelum:

result.use(JSONSerialization.class).from(func).serialize();

Bom, funciona direitinho… mas sempre trazendo os famosos símbolos nas acentuações, até então achei que fosse besteira e continuei a desenvolver… Agora fui atrás da solução e ví que simplesmente não tem outra forma, a não ser criar uma classe conforme abaixo:

@Component
public class CharsetJSONSerialization extends XStreamJSONSerialization {

private final HttpServletResponse response;
protected final ProxyInitializer initializer;
protected final XStreamBuilder builder;

public CharsetJSONSerialization(HttpServletResponse response, TypeNameExtractor extractor, ProxyInitializer initializer, XStreamBuilder builder) {
	super(response, extractor, initializer, builder);
	this.response = response;
	this.initializer = initializer;
	this.builder = builder;
}

public <T> Serializer from(T object){
	response.setContentType("application/json; charset=UTF-8");
	return getSerializer().from(object);
}

}

Conclusão:

Não é aconselhável utilizar a classe e método do próprio framework para serializar JSON?

Isso seria uma gambi? ou será que já existe alguma solução mais elegante…

Abraços,

já tentou colocar isso no seu web.xml?

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

Vixi… Lucas…

Matou a pau!
Aparentemente resolvido, voltei a usar a classe do próprio vraptor, o que achei intrigante, é que agora mesmo retirando essa config. no web.xml ele funciona normal, mas para todos os efeitos vou manter a config. no web.xml.

Muito obrigado cara!

Marcelo