Galera é o seguinte to quebrando a cabeça literalmente tentando resolver esse problema encoding. Estou tentando usar um método para lêr os arquivos
e inserir os registros no banco entretanto os caracteres especias não aparecem no banco de dados aparecem com uma interrogação eu coloquei o banco
com encoding utf8 no postgresql mas ainda sim ele não funciona. Já usei FileRender e agora estou tentando usar com FileOutPutStream mas sem sucesso
o FileRender até funciona normal quando rodo minha aplicação localmente mas quando a ospedo no servidor linux ele começa a truncar os caracteres
por isso passei a usar FileOutPutStream que me permite determinar o encoding de leitura. Agradeço muito a ajuda galera já pesquisei muito mais sem
sucesso acredito que seja alguma particularidade que não sei lembrando o servido que eu hospedo a aplicação fica nos USA e não sei se têm diferença
do utf-8 de lá pra o de cá segue o método.
Método de leitura do arquivo CVS
ocultei a parte de montagem do objeto e de inserção no banco de dados pq não achei necessário …devido o problema estar na leitura do arquivo.
[code]
private static ArrayList<String> lerArquivo(byte[] bytes, String fileName,
String diretorio, Instituicao instituicao, String usuarioInclusao)
throws Exception {
String caminhoSever = diretorio + "/" + fileName;
FileInputStream tr = new FileInputStream(caminhoSever);
InputStreamReader intsTR= new InputStreamReader(tr,"UTF-8");
BufferedReader brB=new BufferedReader(intsTR);
// Guarda a linha do arquivo
String linha;
String informacao = "";
ArrayList<Aluno> alunos = new ArrayList<Aluno>();
ArrayList<Aluno> alunosSalva = new ArrayList<Aluno>();
ArrayList<Aluno> alunosMatDuplicados = new ArrayList<Aluno>();
@SuppressWarnings("unused")
long matricula = 0;
boolean acheiPrimeiroCampo = false;
boolean erroConversao = false;
boolean salva = true;
boolean salvaD = false;
char caractere;
// Varre todas as linhas que possuem informação
while ((linha = brB.readLine()) != null) {
System.out.println(linha);
linha = linha + ';';
salva = true;
salvaD = false;
acheiPrimeiroCampo = false;
erroConversao = false;
Aluno aluno = new Aluno();
Turma turma = new Turma();
matricula = 0;
for (int i = 0; i < linha.length(); i++) {
caractere = linha.charAt(i);
if (!erroConversao) {
if (caractere != ';') {
informacao += caractere;
}
}[/code]