0
i have an application that downloads a csv file from an ftp server and within that file contains product information and the app must insert it into a database, but the special characters are coming "zuados", as in the image below:
so I went to look at the csv file inside the android monitor to see if everything was ok with the product:
this straight, then debugged the app
I came to the conclusion that this occurring at the moment that the app searches the information of CSV file to insert in the bank, but I have no idea how to fix this problem someone can help me?
Import class:
public void importarBanco(){
try{
File path = Environment.getExternalStorageDirectory();
File fileProduto = new File(path, "/Import/produto.csv");
FileInputStream produtoStream = new FileInputStream(fileProduto);
BufferedReader lerArqProduto = new BufferedReader(new InputStreamReader(produtoStream));
String proLinha = lerArqProduto.readLine();
while (proLinha != null){
String[] proDados = proLinha.split(";");
String codigo = proDados[0];
String barras = proDados[1];
String descricao = proDados[2];
String venda1 = proDados[3];
String venda2 = proDados[4];
String venda3 = proDados[5];
String resultado = proCrud.insereProduto(codigo, barras, descricao, venda1, venda2, venda3);
proLinha = lerArqProduto.readLine();
}
lerArqProduto.close();
File fileCliente = new File(path, "/Import/cliente.csv");
FileInputStream clienteStrem = new FileInputStream(fileCliente);
BufferedReader lerArqCliente = new BufferedReader(new InputStreamReader(clienteStrem));
String parLinha = lerArqCliente.readLine();
while (parLinha != null){
String[] parDados = parLinha.split(";");
String codigo = parDados[0];
String nome = parDados[1];
String cpf = parDados[2];
String rg = parDados[3];
String endereco = parDados[4];
String bairro = parDados[5];
String municipio = parDados[6];
String uf = parDados[7];
String resultado = parCrud.insereCliente(codigo, nome, cpf, rg, endereco, bairro,
municipio, uf);
parLinha = lerArqCliente.readLine();
}
lerArqCliente.close();
File fileLogin = new File(path, "/Import/login.csv");
FileInputStream loginStream = new FileInputStream(fileLogin);
BufferedReader lerArqLogin = new BufferedReader(new InputStreamReader(loginStream));
String logLinha = lerArqLogin.readLine();
while(logLinha != null){
String[] logDados = logLinha.split(";");
String usuario = logDados[0];
String senha = logDados[1];
String resultado = lCrud.insereLogin(usuario, senha);
logLinha = lerArqLogin.readLine();
}
lerArqLogin.close();
}catch (Exception e){
e.getStackTrace();
}
}
You can’t add something like
charset = UTF-8
orcharset = Windows-1252
– R.Santos
Whenever you have this problem, you can bet that the cause is encoding. I think R. Santos' comment should be a question. Finally, try to load the CSV indicating an encoding.
– Oralista de Sistemas