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:
Opción b:$('#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); } });
Código:
Ambas opciones funcionan de forma correcta.$('#class_search'').autocomplete({ source : "class_list.php", html: true, select : function(event, ui) { window.open("lab.php?id="+ui.item.id,'_self',false); } });
Ahora viene la creación del array que recibe jQuery para generar la lista
Código:
Ahora en este archivo he probado:/* 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);
-> Poner una cabecera para especificar el tipo de archivo
Código:
-> Codificar la columna que se enseñara en el listado:header("Content-Type: application/json");
Código:
De ninguna manera consigo obtener la decodificación de los valores de la bd en el listado...$row["id"], "value" => utf8_encode($row["clase"])
Os agradezco de antemano vuestra respuesta.