Olá pessoal do fórum, estou com um problemas no encoding/charset das minhas jsp. Eu tenho o seguinte código nas páginas:
[code]<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt”%>
Isso funciona perfeitamente quando as requisições são @Post, no meu caso quando eu insiro um objeto no banco com propriedades com caracteres especiais.
Exemplo. contato.nome = andré
Mas não funciona quando a requisição é um @Get, quando eu executo uma busca em que o parâmetro vai na URL. Numa busca minha URL fica assim:
http://localhost:8080/eventos/busca?nome=andré
Quando a busca ocorre desse jeito, meu Controller recebe o parâmentro assim: andré
Aí eu pessei: “É só trocar o charset da página”. Exemplo:
[code]<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“UTF-8”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt”%>
Mas nesse caso as coisas se invertem, na hora do insert, os caracteres chegam errados ao banco de dados e os parâmetros das URL ficam corretos. Exemplo:
http://localhost:8080/eventos/eventos/busca?nome=andr%C3%A9
Alguém já passou por isso? Alguma idéia como resolver.
Obs.: Eu uso MySQL com collaction = UTF-8 e Vraptor com a seguinte configuração
<context-param>
<param-name>br.com.caelum.vraptor.encoding</param-name>
<param-value>UTF-8</param-value>
</context-param>
Grato a todos pela atenção.
Jonh Paulo