Mikhas
#1
Hey galera!!!
Estou fazendo um download de arquivo via Servlet.
Para retornar o download para o cliente, eu ajusto o cabeçalho da requisição com:
response.setHeader("Content-Disposition", "attachment;filename="
+ URLEncoder.encode(attachment2.getName(), "ISO-8859-1"));
Porem o nome do arquivo me retorna como “arquivo+%20n+%32+%12+texto.txt” (inventei);
Ja esxiste algum “codificador” para, por exemplo, transformar ‘ã’ para ‘a’, espaço para ‘_’.
Valew gaelra
eu uso a funçao a baixo para limpar os caracteres, depois renomeio ou gravo com o nome.
public String trata (String passa){
passa = passa.replaceAll("[AÁÀÃåÅáàÄÂäâã]","a");
passa = passa.replaceAll("[EÉÈéèËÊëê]","e");
passa = passa.replaceAll("[IÍÌíìÏÎïî]","i");
passa = passa.replaceAll("[OÓÒóòÖÔöôÕõØøð]","o");
passa = passa.replaceAll("[UÚÙúùÜÛüû]","u");
passa = passa.replaceAll("[CÇç]","c");
passa = passa.replaceAll("[YÝýÿ]","y");
passa = passa.replaceAll("[NÑñ]","n");
passa = passa.replaceAll("[^ABCDEFGHIJLMNOPQRSTUVXZWYKabcdefghijlmnopqrstuvxzwyk0123456789.]","");
//passa = passa.replaceAll("['<>\|/]","");
return passa;
}
Mikhas
#3
valew (Y)
vou usar sua função por enquanto.