Pessoal, já pesquisei muito sobre o assunto e ainda ninguem conseguiu me explicar uma coisa que está acontecendo no meu sistema.
É o seguinte: tenho um banco postgres codificado em UTF-8, minhas páginas jsp estão com os comandos:
<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%> e
Problema com codificação
25 Respostas
Qual a sua IDE??
se for o NetBeans, usa o http monitor para verificar o formato que os dados estão passando pelo POST/GET
isso geralmente é problema na codificação de caracteres do navegador
To usando eclipse, que tb está configurado para utf-8… struts 1 eu estou utilizando, os .xml e tld estão em utf-8 tb…
Mas a codificação do seu navegador (ie, firefox), está em UTF-8??
Geralmente eles ficam em ISO alguma coisa
Isso eu não verifiquei nao…nem sei onde verificar…vc sabe?
Geralmente ficam no menu Exibir e em codificação, ai lá tem um monte
já mudei, agora vou fazer o teste!
Nada feito! continuou dando erro na codificação! que coisa!! não tenho mais idéias pra resolver isso…
Você passa os parametros através do post ou do get??
eu utilizo o form do struts, passo via request… é isso que vc quer saber?
Tenta exibir os dados antes de eles serem gravados no banco
tipo essa action que faz um cadastro:
public ActionForward cadastraNoticia(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
HttpSession session = request.getSession();
String mapp = null;
try {
CadastrarNoticiaForm not = (CadastrarNoticiaForm)form;
mapp = "cadastrarNoticias";
}catch (Exception e) {
}
return mapping.findForward(mapp);
}
eu já fiz o debug, nesta action aí de cima, os dados já vem errados do form da jsp… já mostra tudo errado aí na action q pego os campos do form…
credo, troço tosco! hehehee
Tenta isso antes de pegar a sessão
request.setCharacterEncoding("UTF-8");
blz, vou tentar agora!
fiz assim:
public ActionForward cadastraNoticia(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
HttpSession session = request.getSession();
String mapp = null;
try {
request.setCharacterEncoding(“UTF-8”);
CadastrarNoticiaForm not = (CadastrarNoticiaForm)form;
mapp = "cadastrarNoticias";
}catch (Exception e) {
}
return mapping.findForward(mapp);
}
e nada!!! 
Eu já debuguei coisa por coisa, fucei tudo, tudo estava configurado pra utf-8, isso q eh estranho!!
Fazendo o debug novamente entrei em request – context – charsetMapper – map= properties ={fr=ISO-8859-1, en=ISO-8859-1}, vou verificar a classe do tomcat org.apache.catalina.util.CharsetMapper pra ver se tem algo a ser configurado…
e no seu ActionForm do Struts, existe algum método para setar a codificação?
acho q nao tem nao… bem, se tiver eu não sei…rsss
O tomcat precisa ser configurado tb? pq eu só vi o web.xml e está com codificação utf-8, fora isso nao fiz mais nada no tomcat…
Pelo que eu sei o Tomcat não precisa de configuração nenhuma quanto a codificação de caracteres
caraca, estou ficando sem opções pra mexer…
será q eh a codificação do meu windows?
Gente, nao sei se é pau, ou o que é… mas eu tirei o <%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%> do topo da minha página jsp e funcionou!! que coisa estranha!! agora ficou só o
e deu certo...vamos ver né? eu heim...Acabou q era cache, nada feito ainda…que coisa!!