Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2015, 12:27
guacusio
 
Fecha de Ingreso: noviembre-2015
Mensajes: 2
Antigüedad: 8 años, 6 meses
Puntos: 0
Problema con cláusula WHERE y acentos

Tengo una BD con una tabla llamada prueba, que contiene una sola columna y un dato:

nombre
María

Tengo el siguiente código PHP:

<?php
$link = mysqli_connect(host,usuario,clave);
mysqli_select_db($link, bd);
mysqli_set_charset($link,"utf8");
$nom="María";
$query="SELECT nombre FROM prueba WHERE nombre='".$nom."'";
$result = mysqli_query($link, $query);
$extraido= mysqli_fetch_array($result);
echo("nombre=".$extraido['nombre']);
mysqli_free_result($result);
mysqli_close($link);
?>

Con ese código pretendo obtener el dato de la columna nombre que coincide con el string "María". Sin embargo, al ejecutarlo, me devuelve un nombre vacío:

nombre=

Es decir, pareciera que no existiera el nombre María. Si ejecuto esa misma consulta en phpMyAdmin, funciona perfecto. Pero desde php no funciona. La BD y la columna nombre tienen cotejamiento utf8 (para distinguir caracteres con y sin acento). Pareciera que no se puede enviar una consulta a la BD desde php que incluya un WHERE que compare textos con acentos (lo extraño es que sí se puede desde phpMyAdmin, que está hecho precisamente en php).

¿Cómo puedo entonces hacer una consulta desde php que requiere filtrar por un texto con acentos?