Servlet está recebendo valor errado

Olá

Bem o problema é o seguinte, quero recuperar na servlet um parâmetro que é enviado por uma função da .js,
esse parâmetro recuperado é de tipo String.

O problema é que quando recupero, se o parâmetro contem algum caracter especial, “zica” tudo
Colequei um alerta no código da .js e ali aparece normalmente, quando recebo na servlet substitui os caracteres especiais por
outros;

exemplo do que acontece :
Mensagem na js
.js -> “Atenção”

Syso na servlet  
                                         servlet -> "Aten?o"

isso está me causando varios problemas, segue o codigo da função e de quando recebo ela na servlet não sei mais o que fazer:
Função da .js


function itemAddedSemDuplicidade(upload_component){
	var entries = upload_component.entries;
	var fileName = '';
	for(var i = 0; i < entries.length; i++){
		fileName += entries[i].fileName + ';';
	}
	alerta(fileName);                                     //Aqui o nome vem correto
	request = getJSHttpRequestObject();
	var url = getUrlApp();
	request.open('GET', url + '/audio-servlet?action=upload&fileName='+fileName, true);
	request.onreadystatechange= function() {
		if(request.readyState == 4)        {               
			deleteUploadElements(upload_component, request.responseXML);
         }
    };
	request.send(null);
}

Servlet

//String files = new String(request.getParameter("fileName").getBytes(), "UTF-8");          
//String files = new String(request.getParameter("fileName").getBytes(), "ISO-8859-1"); 
//String files = new String(request.getParameter("fileName"))   
                                    
             // ja utilizei essas tres formas para recuperar o parametro, porém continua errado

String files = new String(request.getParameter("fileName").getBytes("UTF-8"), "UTF-8" );

System.out.println(files);

Agradeço desde já

Tenta fazer isso:

request.open('GET', url + '/audio-servlet?action=upload&fileName='+escape(fileName), true);

Bem samuel.grigolato

Grato por responder

mas não funcionou, fiz mais alguns testes e descobri o seguinte esta aplicação usando tomCat (implementado no eclipse), no windows XP. Para receber o parâmetro na Servlet as quatro maneiras abaixo funcionam;

String files = new String(request.getParameter("fileName").getBytes(), "ISO-8859-1");
files = new String(request.getParameter("fileName").getBytes("UTF-8"), "UTF-8" );
files = new String(request.getParameter("fileName").toCharArray());
files = new String(request.getParameter("fileName"));

Mas essa não:

String files = new String(request.getParameter("fileName").getBytes(), "UTF-8");

Só que o servidor que eu uso é Ubunto 9.10 e rodando Jetty 6 não funciona nenhuma das citadas
Alguém tem mais uma idéia?

Grato mais uma vez

Bom dia!!

Alguém tem mais alguma idéia, qualquer coisa vale

Obrigado