Foros del Web » Programando para Internet » PHP »

Problema con cláusula WHERE y acentos

Estas en el tema de Problema con cláusula WHERE y acentos en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 14/11/2015, 12:27
 
Fecha de Ingreso: noviembre-2015
Mensajes: 2
Antigüedad: 8 años, 5 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?
  #2 (permalink)  
Antiguo 14/11/2015, 18:58
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Problema con cláusula WHERE y acentos

Ya probaste cambiando el header de la página para que quede codificada en utf-8?

Mira esto.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 14/11/2015, 22:26
 
Fecha de Ingreso: noviembre-2015
Mensajes: 2
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Problema con cláusula WHERE y acentos

Gracias por responder. Sí, probé eso, pero aún así no funcionaba, hasta que me di cuenta del error: estaba trabajando con el editor que ofrece el panel de control del servidor en su página web, que guarda los archivos en formato ANSI en vez de UTF8. Ahora, en vez de editar el archivo desde el administrador de archivos del panel de control del servidor, cambié a usar el notepad++ y un cliente de ftp para actualizar el archivo y funciona perfecto.

Etiquetas: acentos, mysql, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:27.