[Resolvido] - JSF Problemas com acentuação

Vlw Evandro, só a inclusão na tag FORM já resolveu o meu problema.
Muito obrigado.

Se vc usar o padrao de openSessionInView faça isso

[code]public class FilterOpenSessionInView extends DelegatingFilterProxy implements Serializable {

private static final long serialVersionUID = 1L;
private static SessionFactory sf;

@Override
public void initFilterBean() throws ServletException {
    sf = HibernateUtil.getSessionFactory();
}

@Override
public void doFilter(ServletRequest servletRequest,
        ServletResponse servletResponse, FilterChain chain)
        throws IOException, ServletException {
    try {

        servletRequest.setCharacterEncoding("ISO-8859-1"); //codificacao

        sf.getCurrentSession().beginTransaction();
        chain.doFilter(servletRequest, servletResponse);
        sf.getCurrentSession().getTransaction().commit();

        servletResponse.setCharacterEncoding("ISO-8859-1");   //codificacao
        servletResponse.setContentType("text/html; charset=ISO-8859-1");  //codificacao

    } catch (Exception e) {

        e.printStackTrace();

        if (sf.getCurrentSession().getTransaction().isActive()) {
            sf.getCurrentSession().getTransaction().rollback();
        }

    } finally {
        if (sf.getCurrentSession().isOpen()) {
            if (sf.getCurrentSession().beginTransaction().isActive()) {
                sf.getCurrentSession().clear();
            }
            sf.getCurrentSession().close();
        }
    }
}

}[/code]

1 curtida

Cara, pega o primeiro artefato de código que recebe a sua request (seja um filtro, um listiner, um servlet, não importa, desde que seja o primeiro a receber a request) e seta an request e na response o charset. Vai funcionar independente de navegador, servidor, S.O.

//tirar os caracteres estranhos das requisições e respostas
request.setCharacterEncoding(“UTF-8”);
response.setCharacterEncoding(“UTF-8”);

obs: veja se o banco está setado em UTF-8.