Bom pessoal no meu primeiro post vou teclar sobre upload de arquivos em Java hehehe!!! Viva ao Java. Principalmente de um problema que ocorre quando se faz a chamada para o servidor de uma máquina com Windows para um servidor Linux (muito comum aqui em Brasília). Nesse cenário pode ocorrer problemas com alguns caracteres como o ç que fica assim no nome do arquivo ?.
Seque um trecho de código pra simular o problema.
public static void main(String[] args) {
try {
System.out.println(new String("ç".getBytes("ISO-8859-1"), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
Com esse código obtemos a saída ? no console. Isso significa que um arquivo com o nome de ç.doc ficaria salvo no Linux como ?.doc (pelo menos salva).
Naquele código estamos simulando uma requisição escrita em ISO padrão do Windows e lendo com o padrão do Linux UTF-8 (no Linux pode ser alterado).
Para reproduzir o problema precisamos de duas maquinas uma com o Windows para fazer a requisição e uma com o linux para receber a requisição e gravar o arquivo, tanto faz se no banco de dados como o MySQL, Oracle.... ou não. Nesse outro caso salvamos em uma pasta especifica. Eu prefiro salvar no banco de dados.
Mas vamos reproduzir esse erro em uma unica maquina física com o Windows instalado e uma outra maquina nesse caso virtual com o Ubunto (representando o Linux) instalada no Windows com ajuda da VirtualBox (da pra rodar ate o Android na VirtualBox).
Então no próximo post veremos como instalar a VirtualBox e o Ubunto para consequir reproduzir o erro acima descrito. Depois do ambiente pronto iremos resolver o problema por completo nos próximos posts. Até la.
Nenhum comentário:
Postar um comentário