He creado un tipo buscador de alumnos para un sistema escolar, la manera en que funciona es la siguiente:
Tengo en la página principal un input type text en el cual introduzco el nombre o apellido a buscar y este es enviado por URL a otro archivo (también JSP) que recibe la variable y la ejecuta en una consulta SQL, una vez ejecutada este archivo es cargado median AJAX en la página principal. Hasta aquí todo bien, el problema es cuando intento enviar nombre o apellidos con acentos, entonces la letra que lleva acentos la muestra con un caracter raro y pues obviamente la consulta SQL no muestra resultado alguno porque los datos en la BD están almacenados me forma correcta (con acentos).
Un ejemplo de como envío la URL es:
Código :
http://localhost:8080/dexter/modulos/submodulos/caja/submodulo1.jsp?like=López
Ya he escrito en el encabezado de la página el código para que interprete utf-8:
Código Java :
<%@page language="java" contentType="text/html; charset=utf-8" import="mx.edu.utdelacosta.*, java.util.*, java.text.*, java.net.*"%>
También le he modificado el tipo de lectura al request:
Código Java :
request.setCharacterEncoding("utf-8");
Y la manera en que trato de decodificar la variable es la siguiente:
Código Java :
String like=request.getParameter("like"); like=like==null?"":java.net.URLDecoder.decode(like,"UTF-8").trim();
También he probado decodificar directamente:
Código Java :
like = request.getParameter("like");
Y usando una clase que tengo exclusivamente para parsear datos:
Código Java :
RequestParamParser parser = new RequestParamParser(request); String like = parser.getStringParameter("like", "");
Pero el problema continua, también los intente usando iso-8859-1 y nada.
Espero alguien conozca una forma diferente de hacerlo y así probar si funciona, o si pueden identificar el error pues mucho mejor jeje

De antemano gracias y saludos a todos