Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2012, 05:45
daweb
 
Fecha de Ingreso: agosto-2011
Ubicación: Barcelona
Mensajes: 15
Antigüedad: 12 años, 8 meses
Puntos: 3
Pregunta Caracteres HTML y Jquery UI Autocomplete

Hola a todos,

Despues de haber buscado y leído una cantidad inmensa de foros no logro solucionar mi problema. Resulta que he implementado jquery ui autocomplete para cargar una lista atacando a una bd en mysql. La llamada funciona de forma correcta pero a la hora de mostrar el listado, los acentos aparecen codificados en hmtl(acción) y no se decodifican.

Os explíco mi codigo y las distintas pruebas que he hecho:
Carga de jquery ui autocomplete para un input:
Opción a:
Código:
$('#class_search').autocomplete({
	minLength: 2,
    source: function( request, response ) {
        $.getJSON( "class_list.php", {
            term: request.term
        }, response );
    },
    select : function(event, ui) {			
    	window.open("therapeutics.php?id="+ui.item.id,'_self',false);
   }
});
Opción b:
Código:
$('#class_search'').autocomplete({
	source : "class_list.php",
	html: true,
	select : function(event, ui) {					
		window.open("lab.php?id="+ui.item.id,'_self',false);
	}
});
Ambas opciones funcionan de forma correcta.

Ahora viene la creación del array que recibe jQuery para generar la lista
Código:
	/* Conexión a la db * /
	$search = $_GET["term"];
	$datos = array();
	$brand_qry = "SELECT * FROM clases 
				  WHERE clase LIKE '%$search%' ";

	$resultado_brand_qry = mysql_query($brand_qry);								

	while ($row = mysql_fetch_array($resultado_brand_qry, MYSQL_ASSOC)){		
		$datos[] = array("id" => $row["id"], "value" => $row["clase"]);
	}
	print json_encode($datos);
Ahora en este archivo he probado:
-> Poner una cabecera para especificar el tipo de archivo
Código:
header("Content-Type: application/json");
-> Codificar la columna que se enseñara en el listado:
Código:
$row["id"], "value" => utf8_encode($row["clase"])
De ninguna manera consigo obtener la decodificación de los valores de la bd en el listado...

Os agradezco de antemano vuestra respuesta.

Última edición por daweb; 12/03/2012 a las 03:47