Cuantas veces nos ha pasado que buscamos una palabra y como tiene una tilde no nos aparece en las búsquedas? Para los desarrolladores, esto es un tema de poca importancia, pero a veces los usuarios son muy detallistas, y quieren que sus búsquedas muestren muchas cosas.
Generalmente, en MySQL se utiliza latin1_general_ci como codificación de la base de datos. Esta codificación, como todas las que llevan el sufijo _ci, no distingue entre mayúsculas y minúsculas. Pero si que distingue caracteres acentuados de los no acentuados. Por lo tanto, si nosotros queremos que en nuestras búsquedas no se tengan en cuenta las tildes, debemos utilizar otra codificación, aunque solo sea en la búsqueda. Basta con añadir en la query SQL la sentencia COLLATE como se ve en la siguiente linea.
WHERE campo LIKE _utf8 '%$word%' COLLATE utf8_general_ci
Con esta pequeña modificación y sin hacer nada mas.. conseguiremos que los usuarios no dejen de ver un resultado por poner o no una tilde, lo cual es bastante util.
me sirvió de mucho.. gracias
Es exactamente lo que estaba buscando hacer... Muchisimas gracias
CONTROL JAALL!!!!
Por si algo falla, recuerden pasar la variable que contenga el string ($word) como utf8 en php utf8_encode($word)
Saludos y gracias
creo k te amo ... he resuelto mi vida .... bueno casi jejeje saludos y este es un perfecto aporte.
muchas gracias, me resultó
muchas gracias, me resultó
y si lo tengo en utf8 y quiero que si distinta las tildes?
Me sirvio! en mi caso tuve que usar utf8mb4_general_ci sera que es por la version de PHP o MySQL muchas gracias!