Tengo estos dos Archivos, el problema es que no puedo efectuar una consulta cuando utiliza acentos y ñ, funciona para IExplorer... pero nada para firefox(Como ven he probado las buenas y malas técnicas de aplicación)... pero nada de nada:
Código:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />-->
</head>
<body>
<script type="text/javascript" language="javascript" charset="utf-8">
var ajax;
function funcionCallback()
{
// Comprobamos si la peticion se ha completado (estado 4)
if( ajax.readyState == 4 )
{
// Comprobamos si la respuesta ha sido correcta (resultado HTTP 200)
if( ajax.status == 200 )
{
// Escribimos el resultado en la pagina HTML mediante DHTML
var cadena=unescape(ajax.responseText);
alert(cadena);
var cadenafinal=cadena.replace(/\+/gi,"");
document.all.salida.innerHTML = "<b>"+cadenafinal+"</b>";
document.form1.retorno.value=cadenafinal;
}
}
}
function recuperaResidencia()
{
// Creamos el control XMLHttpRequest segun el navegador en el que estemos
if( window.XMLHttpRequest )
ajax = new XMLHttpRequest(); // No Internet Explorer
else
ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer
// Almacenamos en el control al funcion que se invocara cuando la peticion
// cambie de estado
ajax.onreadystatechange = funcionCallback;
//Cargamos el dato de filtro
var valor=document.getElementById("entrada").value;
//var valor=encodeURIComponent(document.all.entrada.value);
var Vfiltro = encodeURIComponent(document.all.entrada.value);
alert("Con Dom: "+valor);
alert("Sin Dom: "+Vfiltro);
// Enviamos la peticion
ajax.open( "GET", "pagina2.jsp?persona="+valor, true );
ajax.send( "" );
}
</script>
<br/>
<br/>
<form id="form1" name="form1">
<input type="text" id="entrada" size="77" value="niño" acceptcharset="UTF-8"/>
<input type="text" id="retorno" size="77"/>
<input type="button" value="Consultar" onclick="recuperaResidencia()"/>
</form>
<br/>
<br/>
Lugar de residencia: <span id="salida"></span>
<br/>
<br/>
</body>
</html>
Código:
<%@ page import="java.net.*" %>
<%
//response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
// Obtener el parametro con el nombre de la persona
response.setCharacterEncoding("UTF-8");//Codificaión de respuesta
//response.setContentType("text/html;charset=UTF-8"); //Lo mismo
String persona = request.getParameter("persona");
// Convert from Unicode to UTF-8
byte[] utf8 = persona.getBytes("UTF-8");
//persona = new String(persona.getBytes("ISO-8859-1"));
//persona = new String(persona.getBytes("UTF-8"));
//persona.trim();
// Devolver el lugar de residencia de la persona
if( persona.equalsIgnoreCase("Jesus Hernandez") )
{
out.print("GUADALAJARA");
}
else
if( persona.equalsIgnoreCase("niño") )
{
String url = "Bogotá + y algo más...Letra ñ:"+persona;
//url = new String(url.getBytes("UTF-8"));
url.trim();
out.print(url);
}
else
if( persona.equalsIgnoreCase("Fernando") )
{
out.print("VALDEMORO");
}
else
{
out.print("PERSONA DESCONOCIDA"+persona);
}
%>