[JSF 2] Requests não convertem caracteres para UTF-8

9 respostas
L

Olá.
Estou com um problema de conversão dos dados que está gerando problemas na entrada de dados com caracteres especiais. Ex: a entrada “Corôa” vira “Corôa”.
A aplicação que estou desenvolvendo uma aplicação usando JSF 2, JPA 2 e Primefaces 3.0. A princípio eu pensei que o meu problema era no banco de dados, mas fiz testes e percebi que isso só acontecia nas requisições de request do JSF, ou seja, quando o trafego de dados ocorre em AJAX o erro não existe.

Sempre que executo um request esse aviso é exibido no terminal:

[color=red]WARNING: PWC4011: Unable to set request character encoding to UTF-8 from context , because request parameters have already been read, or ServletRequest.getReader() has already been called[/color]

O aviso só está sendo exibido se eu utilizar o Glassfish 3.1. No Tomcat 7.0 o aviso é ignorado mas o problema persiste.

Alguém conhece uma solução para esse problema?

9 Respostas

A

Adicione um view com enconding iso-8859-1 que resolve o seu problema e não altera seu layout.

<f:view encoding="ISO-8859-1">
    /* Aqui vem o seu conteúdo */
</f:view>

o encoding da sua página não precisa alterar se já está mostrando os acentos e tudo mais.

L

Muito obrigado, resolveu o meu problema!

Existe um motivo para isto está acontecendo? Essa solução fica parecendo gambiarra(não desmerecendo ela, claro).

P

Eu estou curioso quanto ao motivo também (ps: Estava com o mesmo problema e a solução funcionou)

L

Revivendo aqui este post.
Acabei tendo alguns problemas usando a solução da view, ai troquei a view pela propriedade <h:form acceptcharset=“ISO-8859-1”>. Adicionar isso ao form resolveu os meus problemas de uma vez por todas.
Obrigado a todos.

M

Obrigado! Este post me ajudou muito

L

Achei uma solução mais elegante a um tempo atrás e esqueci de divulgar.

Adiciona

<glassfish-web-app error-url="">
         <parameter-encoding default-charset="UTF-8"/>
         [...]

ao seu arquivo glassfish-web.xml que já será suficiente para toda a aplicação.

V

Valeu Luan!
Estava com esta bronca e o
resolveu !

L

bom dia, galera!

infelizmente nenhuma das soluções funcionaram pra mim :frowning:

alguém teria alguma outra sugestão pra me dar?!?!

obrigado!!

L

corrigindo…consegui resolver!!

o registro que já estava cadastrado com erro não pôde ser editado…removi ele, cadastrei da mesma forma e o erro parou!!!

valeu!!!

Criado 15 de setembro de 2011
Ultima resposta 26 de jul. de 2012
Respostas 9
Participantes 6