Struts 2 problema acentuação

Fala galera,

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á … .

obrigado …

até mais …

[]'s

Rodrigo

Também estou com o mesmo problema…
help ai pessoal…

Olá

faça o teste colocando no struts.xml :

	<constant name="struts.i18n.encoding" value="LATIN1" />

Abçs

Herrera

Cara você salvou minha vida … tava querendo brincar de roleta russa ja rsrs …

funcionou velho vlw …

[]'s

Opaa…
Pra min também deu certo…

Obrigado!!!

No meu projeto essa minha tag fica no struts.properties

# Tamanho máximo para upload (10 MB). struts.multipart.maxSize = 10485760 struts.i18n.reload=false struts.configuration.xml.reload=false struts.url.includeParams = none struts.i18n.encoding=LATIN1

É por isso que gosto desse fórum =D

Caramba… Parece mágica isso… ahaha
Valeu grande Herrera!

Isso resolveu o meu problema também!!
VALEU!!!

O que seria de nós desenvolvedores se não nos ajudássemos…? :slight_smile:

Valeu!!! Não tinha passado por este problema, e nem vou passar pois aprendi mais uma…

Isso é verdade…
Na maioria das vezes algumas (e poucas) frases podem salvar uma noite de sonos!

Obrigadão valeu mesmo !! salvou a minha pele !! mais ou noite de sono !!!

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.

Alguem tem uma ideia?

Já tentou fazer como foi sujerido mais acima? Talvez trocar LATIN1 por UTF-8?

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.

Consegui resolver o meu problema usando o ISO-8859-1 com o LATIN1

[ ]'s

Quais arquivos vc mudou, e que charset vc colocou em cada um?

Adicionei esse código nas minhas paginas JSP

<%@ page contentType=“text/html; charset=iso-8859-1” pageEncoding=“LATIN1” %>

e no struts properties alterei os seguintes codigo

struts.locale=pt_BR
struts.i18n.encoding=LATIN1

e arrumou o problema da acentuação.

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.

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.

Alguem pode me ajudar com isso?

[]´s

UP