Nomes de arquivos localizados em Java

Atualmente, sempre que clico em um arquivo localizado com um nome de arquivo não-ascii no meu aplicativo, a caixa de diálogo Salvar do Windows aparece, mas ele não está exibindo o nome do arquivo corretamente se o conjunto de caracteres estiver acima de ISO- 88859-1.

Este é o meu código que está salvando o arquivo.

            InputStream inputStream = null;
 try {
  response.resetBuffer();
  response.setContentType(fileStream.getContentType());
  response.setContentLength((int) fileStream.getContentLength());
  response.addHeader("Content-Disposition",
    "attachment;filename=\"" + fileName + "\"");
  ServletOutputStream stream = response.getOutputStream();
  byte[] buffer = new byte[1024];
  int read = 0;
  int total = 0;
  inputStream = fileStream.getInputStream();
  while ((read = inputStream.read(buffer)) > 0) {
   stream.write(buffer, 0, read);
   total += read;
  }
  response.flushBuffer();
 } finally {
  if (inputStream != null) {
   inputStream.close();
  }
 }

Eu seria muito útil se alguém pudesse compartilhar suas idéias sobre como resolver esse problema. Desde já, obrigado.

questionAnswers(4)

yourAnswerToTheQuestion