Seguinte estou utilizando struts 2 em uma aplicação mas estou com um problema serio… quando posto um fomulário as letras com acentos estão sendo substituida por caracteres estranhos e o pior isso só ocorre em formulario que existe o campo file para upload.
Ja tentei de tudo mas acredito que o problema deve estar no interceptor fileupload mas não achei uma solução, já tentei de tudo setar o acceptcharset no form … e todas as minhas paginas estão com o charset para iso-8859-1.
Se alguem tiver uma ideia … ja tentei de tudo to ficando louco já … .
Já tentou fazer como foi sujerido mais acima? Talvez trocar LATIN1 por UTF-8?
M
Mordor
Ja coloquei tudo em ISO-8859-1, UTF-8 e LATIN1 mas continua dando o mesmo problema, o estranho que localmente na minha maquina funciona 100%, minha maquina esta no windows, o servidor de produção esta em linux.
D
dandrop
Consegui resolver o meu problema usando o ISO-8859-1 com o LATIN1
[ ]'s
M
Mordor
Quais arquivos vc mudou, e que charset vc colocou em cada um?
e no struts properties alterei os seguintes codigo
struts.locale=pt_BR
struts.i18n.encoding=LATIN1
e arrumou o problema da acentuação.
M
Mordor
Fiz um teste com o Showcase do struts e descobri que é um problema nele mesmo, mas é algo que ele pega do servidor, no caso esta no linux.
L
leandro.francoso
Estou com o mesmo problema de acentuação. Tenho a action:
packageactions.comum;importorg.hibernate.Query;importorg.hibernate.Session;importcom.opensymphony.xwork2.ActionSupport;importbeans.comum.Acao;importutils.banco.ConectaBanco;publicclassAJavascriptextendsActionSupport{privateSessionbd=ConectaBanco.getInstance();privateStringconteudo;privateStringacao;publicStringexecute(){Queryq=bd.createQuery("FROM Acao a WHERE a.acao=:acao");Acaoa=(Acao)q.setString("acao",getAcao()).uniqueResult();if(a!=null){setConteudo("function init(){ alert('Existe uma ação com esse nome no banco'); }");}else{setConteudo("function init(){ alert('NÃO Existe uma ação com esse nome no banco'); }");}returnSUCCESS;}publicvoidsetConteudo(Stringconteudo){this.conteudo=conteudo;}publicStringgetConteudo(){returnconteudo;}publicvoidsetAcao(Stringacao){this.acao=acao;}publicStringgetAcao(){returnacao;}}
O que acontece. Estou fazendo um teste para imprimir uma mensagem em javascript quando a página carrega. Só que quando a mensagem é exibida ela aparece assim:
function init(){ alert('N& # x C 3 ;O Existe uma a & # x E 7 ;& # x E 3;o com esse nome no banco'); }
Não exatamente assim pq eu tive que separar os caracteres para vocês verem a bagunça.
O Javascript imprime a mensagem exatamente como ela vem. Não faz nenhuma conversão. E também nem da para fazer, pois com essa Action, carregarei arquivos Javascripts completos dinamicamente na página.
Alguem pode me ajudar com isso?
[]´s
L
leandro.francoso
UP
L
leandro.francoso
Consegui resolver.
Na verdade quando eu imprimo na View, eu pego a propriedade “conteudo” da Action e utilizo a taglib <s:property value=“conteudo” /> para imprimir.
Quando faço isso, o Struts imprime os caracteres de acentuação codificados. Para desfazer isso utilizem <s:property value=“conteudo” escape=“false”/>
Abraço.
C
caiomacedor
Gente socorro…
Já estou a dois dias tentando resolver isso e não da certo. Estou num projeto na empresa e la tivemos o mesmo problema. Então criei um projetinho aqui em casa pra tentar solucionar o problema, mas até agora nada.
coloquei no web.xml porque no projeto da empresa usamos apenas anotação, ai não tem o arquivo struts.xml.