public class teste {
public static void main(String[] args) {
System.out.println(args[0]);
}
}
ao executar passando string com acentos como argumento
C:\>java teste ção
þÒo
Não exibe corretamente.
O que precisa ser feito para que seja exibido os acentos corretamente? Procurei como alterar o charset da aplicação, mas não sei como, mas também não sei se o problema é de charset.
a aplicação acima é somente um exemplo, a aplicação original recebe nomes de arquivos que possuem acentos e espaços, que serão compactados. Qdo abro o zip não é exibido corretamente o nome dos dos arquivos com acentuação.
ex: java teste "documentação do sistema.doc" "instalação xyx.doc"
tentei o pacote java.nio.charset, mas não encontrei nada para alterar o charset da aplicação.
Ah, o zip é outra história. Se não me engano existe um “bug report” ou um “request for enhancement” para java.util.zip quanto a arquivos com acentos; isto porque dentro de um arquivo .zip os nomes dos arquivos são codificados ligeiramente diferente de ISO-8859-1, se não me engano (no bug report o problema é com arquivos cujos nomes têm tremas - ‘umlaut’ em inglês ou alemão - mas deve dar o mesmo problema em português.)
Sugestão: para testar o seu programa gerador de zips, tente pôr os nomes de alguns arquivos diretamente dentro do seu programa. Acho que vai aparecer errado também, não sendo exatamente problema do Java. Tente ver os nomes dos arquivos com um segundo programa, não só o Winzip - como o Power Archiver ou o BraZip (prestigie o produto nacional)…