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.