Olá
Eu estava fazendo uma aplicação jsf e atualizei o netBeans pra versão 7.0 e tive um problema com os formulários de cadastro quando são preenchidos com acentos.
Eu estou usando jsf2.0 e o glassfish3.1
O servidor lança essa mensagem de aviso:WARNING: PWC4011: Unable to set request character encoding to UTF-8 from context /fastfoodapp, because request parameters have already been read, or ServletRequest.getReader() has already been called
E os caracteres que usavam acentos ficam desconfigurados.
exemplo.xhtml[code]<?xml version='1.0' encoding='UTF-8' ?>
Experimente trocar a linha
<?xml version='1.0' encoding='UTF-8' ?>
por
<?xml version='1.0' encoding='ISO-8859-1' ?>
Cara obrigado pela resposta
Mas eu fiz isso ai que você falou e resolveu o problema dos inputText, mas os outputText ficaram com problema.
Mas eu queria saber também por que antes funcionava tudo normal usando UTF-8 e agora ta tudo com problema =/
Consegui resolver depois de muito tempo o problema que eu nem sei de onde veio ja que tudo funcionava normal e deu pane do nada -.-’
Além do encoding declarado no xml como ISO-8859-1 coloquei a tag f:view com contentType=“text/html; charset=ISO-8859-1”
Enfim o código no final ficou assim[code]<?xml version='1.0' encoding='ISO-8859-1' ?>
<f:view contentType="text/html; charset=ISO-8859-1">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form>
<h:outputText value="João" />
<h:inputText />
</h:form>
</h:body>
</f:view>
[/code]
Pra mim funcionou com a definição da valor para o atributo acceptcharset do form. Assim:
<h:form id="form" acceptcharset="ISO-8859-1">
Valeu por compartilhar Evandro Canal, me ajudou aqui também.
Obrigado
[quote=llucas]Consegui resolver depois de muito tempo o problema que eu nem sei de onde veio ja que tudo funcionava normal e deu pane do nada -.-’
Além do encoding declarado no xml como ISO-8859-1 coloquei a tag f:view com contentType=“text/html; charset=ISO-8859-1”
Enfim o código no final ficou assim[code]<?xml version='1.0' encoding='ISO-8859-1' ?>
<f:view contentType="text/html; charset=ISO-8859-1">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form>
<h:outputText value="João" />
<h:inputText />
</h:form>
</h:body>
</f:view>
[/code][/quote]
Bah llucas. Matou a pau. To há uns quatro dias tentando resolver este problema. Muito obrigado cara.
Estou com o mesmo problema de acentuação com JSF, porém, as soluções dadas não resolveram o meu problema. Estou utilizando o primefaces.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:p="http://primefaces.prime.com.tr/ui">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
/* Restante do código */
novato25. Coloque a parte do Prime pra gente dar uma olhada. Tu tem no teu código a tag <f:view contentType=“text/html; charset=ISO-8859-1”>?
[code]<?xml version="1.0" encoding="UTF-8"?>
<f:view contentType=“text/html; charset=ISO-8859-1”>
<h:head>
<f:facet name=“first”>
</f:facet> [/code]
Troca <?xml version="1.0" encoding="UTF-8"?> por <?xml version='1.0' encoding='ISO-8859-1' ?>
se não resolver avisa aí. Abraço.
olá regisnv,
obrigado pela ajuda… não resolveu… parece que nada resolve… já estou há dois dias com este problema e nada.
Um detalhe… funciona no Firefox, mas no IE e no Chrome não. :?
Ah desculpa… vi só agora teu novo post. Estranho não funcionar em todos os proxys. Eu tiraria aquele <f:facet>, não? O que tu acha? Abraço.
Na verdade tiraria toda essa parte:
<f:facet name="first">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
</f:facet>
olá regisnv,
vi uma coisa estranha aqui na página. Como ela é composta, na metade dela encontrei outra tag html… sistema legado é complicado. Vou ver se é isto que causa o problema e ver se soluciono ele. Valeu…
olá regisnv,
resolvi o problema. Era o ajax. Coloquei o commandButton com o atributo ajax=false e funcionou… valeu!
Nossa, vivendo e aprendendo. Nunca imaginaria isso. Que bom que tu conseguiu cara. Abraço.
É… eu também não… mas por incrível que possa parecer, resolveu… já tinha tentado N maneiras de configuração de codificação e nada. Valeu!!
Pessoal, estou com o mesmo problema e todas as soluções não funcionaram. Estou usando Facelets
<?xml version='1.0' encoding='ISO-8859-1' ?><ui:composition xmlns=“http://www.w3.org/1999/xhtml”
xmlns:ui=“http://xmlns.jcp.org/jsf/facelets”
template="./Template.xhtml"
xmlns:h=“http://xmlns.jcp.org/jsf/html”
xmlns:p=“http://primefaces.org/ui”
xmlns:f=“http://xmlns.jcp.org/jsf/core”>
<ui:define name="content">
]
Estou usando primefaces
o estranho que na barra de menu tem acento e está normal.
Obrigado desde já