Problemas com acentuação do arquivo.txt

5 respostas
R

Pessoal,

Meu codigo faz um select no banco e o resultado eu crio um arquivo.txt para exportar ao usuario, o problema que na minha maquina local ele é exportado corretamente, mas quando subo a versão para o servidor quando o usuario exporta o relatorio ele aparece com erro de acentuação, ja fiz umas pesquisas e não encontrei uma solução, gostaria de uma ajuda... segue abaixo meu codigo...

public class GeraRelatorioXls {



	public boolean consultar(ImpressaoBean bean3) throws Throwable {

		ArrayList<ImpressaoBean> arrayCaracterizacao = new ArrayList<ImpressaoBean>();
		ImpressaoBean bean = null;

		String sql = "select * from EXPORT_TAB_CARACTERIZACAO";

		try {
			Statement st = ContextOracle.getInstance().createStatement();

			ResultSet rs = st.executeQuery(sql);

			while (rs.next()) {
				bean = new ImpressaoBean();
				bean.setNomeArea(rs.getString("Nome"));
				bean.setCodVulnerabilidade(rs.getString("Vulnerabilidade"));
				bean.setCodLocalizacao(rs.getString("Localizacao"));
				bean.setNumUhsMapeadas(rs.getString("Uhs Mapeadas"));
				bean.setCodTipologia(rs.getString("Tipologia"));
				bean.setCodTipoAssentamento(rs.getString("Tipo Assentamento"));
				bean.setDataOcupacaoDoc(rs.getString("Ocupacao documentada"));
				bean.setDataOcupacaoEntrevista(rs.getString("Ocupacao entrevista"));
				bean.setCodZoneamento(rs.getString("Zoneamento"));
				bean.setCodGravamesJudiciais(rs.getString("Gravames Judiciais"));
				bean.setCodPrograma(rs.getString("Intervencao - programa"));
				bean.setCadUnidades(rs.getString("Unidades Cadastradas"));
				bean.setCodEstagio(rs.getString("Intervencao - estagio"));
				bean.setCodManancial(rs.getString("Manancial"));
				bean.setCodFeicaoMorfologica(rs.getString("Feicao morfologica"));
				arrayCaracterizacao.add(bean);

			}

		
			StringBuilder sb2 = new StringBuilder();
			for (ImpressaoBean bean2 : arrayCaracterizacao) {
				sb2.append(processaObjeto(bean2) + "\n");
			}
			try {
				
				PrintWriter os = new PrintWriter(new FileWriter("/dados/programas/apache-tomcat-6.0.35/webapps/sihisb/arquivos/planilha.txt"));
				///dados/programas/apache-tomcat-6.0.35/webapps/sihisb/arquivos
				
				os.println("NOME;VULNERABILIDADE;LOCALIZAÇÃO;UHS MAPEADAS;TIPOLOGIA;TIPO ASSENTAMENTO;ANO OCUPAÇÃO DOCUMENTADO;ANO OCUPAÇÃO ENTREVISTA;ZONEAMENTO;GRAVAMES JUDICIAIS;INTERVENÇÃO - PROGRAMA;" +
						"UNIDADES CADASTRADAS;INTERVERÇÃO - ESTAGIO;MANANCIAL;FEIÇÃO MORFOLOGICA;");
				
				os.write(sb2.toString());
				os.flush();
				os.close();
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			st.close();
			rs.close();
		} catch (SQLException sqlex) {
			throw new ServletException(sqlex);
		}
		return false;

	}
	
	
public String processaObjeto(ImpressaoBean bean) throws Throwable {

	StringBuilder sb = new StringBuilder();
	ImpressaoDAO dao = new ImpressaoDAO(); 

	sb.append(bean.getNomeArea());
	sb.append(";");
	sb.append(bean.getCodVulnerabilidade());
	sb.append(";");
	sb.append(bean.getCodLocalizacao());
	sb.append(";");
	sb.append(bean.getNumUhsMapeadas());
	sb.append(";");
	sb.append(bean.getCodTipologia());
	sb.append(";");
	sb.append(bean.getCodTipoAssentamento());
	sb.append(";");
	sb.append(bean.getDataOcupacaoDoc());
	sb.append(";");
	sb.append(bean.getDataOcupacaoEntrevista());
	sb.append(";");
	sb.append(bean.getCodZoneamento());
	sb.append(";");
	sb.append(bean.getCodGravamesJudiciais());
	sb.append(";");
	sb.append(bean.getCodPrograma());
	sb.append(";");
	sb.append(bean.getCadUnidades());
	sb.append(";");
	sb.append(bean.getCodEstagio());
	sb.append(";");
	sb.append(bean.getCodManancial());
	sb.append(";");
	sb.append(bean.getCodFeicaoMorfologica());
	sb.append(";");
	
	
	return sb.toString();
}

5 Respostas

Rodrigo_Sasaki

experimente mudar dePrintWriter os = new PrintWriter(new FileWriter("/dados/programas/apache-tomcat-6.0.35/webapps/sihisb/arquivos/planilha.txt")); para PrintWriter os = new PrintWriter(new File("/dados/programas/apache-tomcat-6.0.35/webapps/sihisb/arquivos/planilha.txt"), "UTF-8");

R

Obrigado sua dica deu certo…

Para ajudar amigos segue codigo abaixo:

package br.gov.sp.saobernardo.sehab.mail;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.servlet.ServletException;
import br.gov.sp.saobernardo.sehab.bean.ImpressaoBean;
import br.gov.sp.saobernardo.sehab.dao.ImpressaoDAO;
import br.gov.sp.saobernardo.sehab.util.ContextOracle;

public class GeraRelatorioXls {



	public boolean consultar(ImpressaoBean bean3) throws Throwable {

		ArrayList<ImpressaoBean> arrayCaracterizacao = new ArrayList<ImpressaoBean>();
		ImpressaoBean bean = null;

		String sql = "select * from EXPORT_TAB_CARACTERIZACAO";

		try {
			Statement st = ContextOracle.getInstance().createStatement();

			ResultSet rs = st.executeQuery(sql);

			while (rs.next()) {
				bean = new ImpressaoBean();
				bean.setNomeArea(rs.getString("Nome"));
				bean.setCodVulnerabilidade(rs.getString("Vulnerabilidade"));
				bean.setCodLocalizacao(rs.getString("Localizacao"));
				bean.setNumUhsMapeadas(rs.getString("Uhs Mapeadas"));
				bean.setCodTipologia(rs.getString("Tipologia"));
				bean.setCodTipoAssentamento(rs.getString("Tipo Assentamento"));
				bean.setDataOcupacaoDoc(rs.getString("Ocupacao documentada"));
				bean.setDataOcupacaoEntrevista(rs.getString("Ocupacao entrevista"));
				bean.setCodZoneamento(rs.getString("Zoneamento"));
				bean.setCodGravamesJudiciais(rs.getString("Gravames Judiciais"));
				bean.setCodPrograma(rs.getString("Intervencao - programa"));
				bean.setCadUnidades(rs.getString("Unidades Cadastradas"));
				bean.setCodEstagio(rs.getString("Intervencao - estagio"));
				bean.setCodManancial(rs.getString("Manancial"));
				bean.setCodFeicaoMorfologica(rs.getString("Feicao morfologica"));
				arrayCaracterizacao.add(bean);

			}

		
			StringBuilder sb2 = new StringBuilder();
			for (ImpressaoBean bean2 : arrayCaracterizacao) {
				sb2.append(processaObjeto(bean2) + "\n");
			}
			try {
			
				PrintWriter os = new PrintWriter(new File("/dados/programas/apache-tomcat-6.0.35/webapps/sihisb/arquivos/planilha.csv"), "ISO-8859-1");   
				os.println("NOME;VULNERABILIDADE;LOCALIZAÇÃO;UHS MAPEADAS;TIPOLOGIA;TIPO ASSENTAMENTO;ANO OCUPAÇÃO DOCUMENTADO;ANO OCUPAÇÃO ENTREVISTA;ZONEAMENTO;GRAVAMES JUDICIAIS;INTERVENÇÃO - PROGRAMA;" +
						"UNIDADES CADASTRADAS;INTERVERÇÃO - ESTAGIO;MANANCIAL;FEIÇÃO MORFOLOGICA;");
				
				os.write(sb2.toString());
				os.flush();
				os.close();
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			st.close();
			rs.close();
		} catch (SQLException sqlex) {
			throw new ServletException(sqlex);
		}
		return false;

	}
	
	
public String processaObjeto(ImpressaoBean bean) throws Throwable {

	StringBuilder sb = new StringBuilder();
	ImpressaoDAO dao = new ImpressaoDAO(); 

	sb.append(bean.getNomeArea());
	sb.append(";");
	sb.append(bean.getCodVulnerabilidade());
	sb.append(";");
	sb.append(bean.getCodLocalizacao());
	sb.append(";");
	sb.append(bean.getNumUhsMapeadas());
	sb.append(";");
	sb.append(bean.getCodTipologia());
	sb.append(";");
	sb.append(bean.getCodTipoAssentamento());
	sb.append(";");
	sb.append(bean.getDataOcupacaoDoc());
	sb.append(";");
	sb.append(bean.getDataOcupacaoEntrevista());
	sb.append(";");
	sb.append(bean.getCodZoneamento());
	sb.append(";");
	sb.append(bean.getCodGravamesJudiciais());
	sb.append(";");
	sb.append(bean.getCodPrograma());
	sb.append(";");
	sb.append(bean.getCadUnidades());
	sb.append(";");
	sb.append(bean.getCodEstagio());
	sb.append(";");
	sb.append(bean.getCodManancial());
	sb.append(";");
	sb.append(bean.getCodFeicaoMorfologica());
	sb.append(";");
	
	
	return sb.toString();
}
public String tituloColunas(ImpressaoBean bean) throws Throwable {

	StringBuilder sb2 = new StringBuilder();
	

	sb2.append(bean.getNomeArea());
	sb2.append("Nome;");
	sb2.append(bean.getCodVulnerabilidade());
	sb2.append("Vulnerabilidade;");
	sb2.append(bean.getCodLocalizacao());
	sb2.append("Localização;");
	sb2.append(bean.getNumUhsMapeadas());
	sb2.append("Uhs;");
	sb2.append(bean.getCodTipologia());
	sb2.append("Tipologia;");
	sb2.append(bean.getCodTipoAssentamento());
	sb2.append("Tipo Assentamento;");
	sb2.append(bean.getDataOcupacaoDoc());
	sb2.append("Ano Ocupação Documentado;");
	sb2.append(bean.getDataOcupacaoEntrevista());
	sb2.append("Ano Ocupação Entrevista;");
	sb2.append(bean.getCodZoneamento());
	sb2.append("Zoneamento;");
	sb2.append(bean.getCodGravamesJudiciais());
	sb2.append("Gravames Judiciais;");
	sb2.append(bean.getCodPrograma());
	sb2.append("Interveção - Programa;");
	sb2.append(bean.getCadUnidades());
	sb2.append("Unidades Cadastradas;");
	sb2.append(bean.getCodEstagio());
	sb2.append("Interverção - Estagio;");
	sb2.append(bean.getCodManancial());
	sb2.append("Manancial;");
	sb2.append(bean.getCodFeicaoMorfologica());
	sb2.append("Feição Morfologica;");
	
	
	return sb2.toString();
}
}
Rodrigo_Sasaki

Se quiser ajudar os amigos ainda mais, e não tenha mais dúvidas,

edite o seu primeiro post do tópico, e adicione a tag [RESOLVIDO] ao título, assim quem vê o tópico, sabe que a dúvida já foi sanada.

Abraço!

R

OK. Pessoal Resolvido! abraços.

Rodrigo_Sasaki

Tem que ser no primeiro post, amigão :slight_smile:

Criado 17 de julho de 2012
Ultima resposta 19 de jul. de 2012
Respostas 5
Participantes 2