Problema acentuação de caracteres usando Facelets

Olá,

Estou com um problema semelhante. Todos os textos das páginas da minha aplicação que tem acento são substituidos por ??.

Alguém tem alguma idéia do que fazer?

o faces.config.xml já está setado com pr-br como lingua default

<application>
        <locale-config>
            <default-locale>pt</default-locale>
        </locale-config>
    </application>

Acredito que o problema, no meu caso, é que a minha aplicação usa EJB, que dispara exceções. O texto no EJB está desconfigurado.

Alguém sabe como “permitir” acentuar as exceções disparadas pelo EJB?

Estou passando pelo mesmo problema numa página .XHTML feita em JSF. Não reconhece acentos. Já teste tudo que foi postado acima…

Caso use o UTF-8, você terá que substituir os acentos pelos caracteres abaixo:
á = \u00e1
à = \u00e0
â = \u00e2
ã = \u00e3
ä = \u00e4
Á = \u00c1
À = \u00c0
 = \u00c2
à = \u00c3
Ä = \u00c4
é = \u00e9
è = \u00e8
ê = \u00ea
ê = \u00ea
É = \u00c9
È = \u00c8
Ê = \u00ca
Ë = \u00cb
í = \u00ed
ì = \u00ec
î = \u00ee
ï = \u00ef
Í = \u00cd
Ì = \u00cc
Î = \u00ce
Ï = \u00cf
ó = \u00f3
ò = \u00f2
ô = \u00f4
õ = \u00f5
ö = \u00f6
Ó = \u00d3
Ò = \u00d2
Ô = \u00d4
Õ = \u00d5
Ö = \u00d6
ú = \u00fa
ù = \u00f9
û = \u00fb
ü = \u00fc
Ú = \u00da
Ù = \u00d9
Û = \u00db
ç = \u00e7
Ç = \u00c7
ñ = \u00f1
Ñ = \u00d1
& = \u0026
’ = \u0027

Batendo cabeça aqui com isso também, consegui com a seguinte manobra.

Cria um filtro para a url /*

e no método:


public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        
        // resolve o problema de acento. 
        response.setCharacterEncoding(&quot;UTF-8&quot;);      
        request.setCharacterEncoding(&quot;UTF-8&quot;);    


        chain.doFilter(request, response);
    }

já nas paginas xhtml usei:

<?xml version="1.0" encoding="ISO-8859-1"?>

Para mim resolveu 100%.
Um abraço.

Meu problema se resolveu da forma acima citada, ou seja, setando o UTF-8 no Filter.