- Base de datos : (Ya cambié la forma en la que se guardan los datos quedando de la siguiente manera)
Código :
Tabla area ----------------------------------------------- id -->43 - titulo --> EDIFICACIÓN id -->44 - titulo --> ENERGÍAS RENOVABLES ------------------------------------------ CHARACTER SET utf8 COLLATE utf8_spanish2_ci
My script:
Código PHP :
header('Content-Type: text/html; charset=UTF-8'); $busqueda = $_POST['busqueda']; // Datos de conexion: $mysqli = new mysqli($conection['server'], $conection['user'], $conection['pass'], $conection['base']); if (mysqli_connect_errno()) { printf("Conexión fallida: %s\n", mysqli_connect_error()); exit(); } // Para asegurarme de que utilizo utf8 // if (!$mysqli->set_charset("utf8")) { printf("Error cargando el conjunto de caracteres utf8: %s\n", $mysqli->error); } else { printf("Conjunto de caracteres actual: %s\n", $mysqli->character_set_name()); } @mysql_query("SET NAMES 'utf8'"); if($busqueda<>''){ $cadbusca = "SELECT id , titulo FROM area WHERE titulo LIKE '%".$busqueda."%'"; $result = mysqli_query($mysqli, $cadbusca) or die ("Error: ".mysqli_error($mysqli)); $row_cnt = mysqli_num_rows($result); if($row_cnt>0){ echo "<p>Areas: </p><ul>"; while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){ echo "<li><a href='cursos.php?idarea=".$row['id']."'>" . utf8_encode($row['titulo']) . "</a></li>"; } echo "</ul>"; } }
De esta forma ocurre lo siguiente:
Buscando --> edificacion --> muestra el resultado correctamente -> EDIFICACIÓN
Buscando --> energias --> no encuentra ningun resultado.
Buscando --> energ --> funciona correctamente y muesra --> ENERGÍAS RENOVABLES
Alguien sabe como hacer para que funcione correctamente??
Es seguro que estoy utilizando utf8. En el foro de mysql me han dicho que esta todo correcto en lo que a la consulta se refiere! que es problema de php! Alguna ayuda??