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á … .
Estou tendo um problema parecido com este, so que é na gravação dos dados.
O meu banco esta em UTF-8;
O struts e o hibernate estão com o charset UTF-8;
Na visualização das paginas e dos dados esta OK os acentos. so que na hora que vou gravar os acentos estão saindo errado.
Exemplo: Preço grava Preço
Fiz alguns testes de envio de dados, o envio esta correto.
So que na classe chega Preço
Na minha maquina Windows rodando com o Netbeans 6.1 e acessando o mesmo banco funciona.
Isso so acontece no linux.
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.
Estou com o mesmo problema de acentuação. Tenho a action:
package actions.comum;
import org.hibernate.Query;
import org.hibernate.Session;
import com.opensymphony.xwork2.ActionSupport;
import beans.comum.Acao;
import utils.banco.ConectaBanco;
public class AJavascript extends ActionSupport{
private Session bd = ConectaBanco.getInstance();
private String conteudo;
private String acao;
public String execute(){
Query q = bd.createQuery("FROM Acao a WHERE a.acao=:acao");
Acao a = (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'); }");
}
return SUCCESS;
}
public void setConteudo(String conteudo) {
this.conteudo = conteudo;
}
public String getConteudo() {
return conteudo;
}
public void setAcao(String acao) {
this.acao = acao;
}
public String getAcao() {
return acao;
}
}
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.