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:
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 =/
L
llucas1 like
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
<?xml version='1.0' encoding='ISO-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><f:viewcontentType="text/html; charset=ISO-8859-1"><h:head><title>Facelet Title</title></h:head><h:body><h:form><h:outputTextvalue="João"/><h:inputText/></h:form></h:body></f:view></html>
E
Evandro_Canal3 likes
Pra mim funcionou com a definição da valor para o atributo acceptcharset do form. Assim:
<h:form id="form" acceptcharset="ISO-8859-1">
P
paulohonfi
Valeu por compartilhar Evandro Canal, me ajudou aqui também.
Obrigado
R
regisnv
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
<?xml version='1.0' encoding='ISO-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><f:viewcontentType="text/html; charset=ISO-8859-1"><h:head><title>Facelet Title</title></h:head><h:body><h:form><h:outputTextvalue="João"/><h:inputText/></h:form></h:body></f:view></html>
Bah llucas. Matou a pau. To há uns quatro dias tentando resolver este problema. Muito obrigado cara.
N
novato25
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"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:p="http://primefaces.prime.com.tr/ui"><head><metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/><metahttp-equiv="X-UA-Compatible"content="IE=Edge"/>
/* Restante do código */
R
regisnv
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”>?
N
novato25
<?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"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://java.sun.com/jsf/html"xmlns:ui="http://java.sun.com/jsf/facelets"xmlns:p="http://primefaces.prime.com.tr/ui"xmlns:f="http://java.sun.com/jsf/core"><f:viewcontentType="text/html; charset=ISO-8859-1"><h:head><f:facetname="first"><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"/><metahttp-equiv="X-UA-Compatible"content="IE=Edge"/></f:facet>
R
regisnv
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.
N
novato25
olá regisnv,
obrigado pela ajuda… não resolveu… parece que nada resolve… já estou há dois dias com este problema e nada.
N
novato25
Um detalhe… funciona no Firefox, mas no IE e no Chrome não. :?
R
regisnv
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.
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…
N
novato25
olá regisnv,
resolvi o problema. Era o ajax. Coloquei o commandButton com o atributo ajax=false e funcionou… valeu!
R
regisnv
Nossa, vivendo e aprendendo. Nunca imaginaria isso. Que bom que tu conseguiu cara. Abraço.
N
novato25
É… 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!!
S
sidneiferreira2013
Pessoal, estou com o mesmo problema e todas as soluções não funcionaram. Estou usando Facelets
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 respostasrequest.setCharacterEncoding(“UTF-8”);response.setCharacterEncoding(“UTF-8”);