Estoy creando un buscador en PHP que me está dando problemas a la hora de buscar con y sin acentos, mi idea es que si buscas "árbol", te devuelva los resultados con y sin acento, es decir, tanto árbol como arbol. Y viceversa.
El apartado de mi consulta que realiza dicha consulta es la siguiente:
Código MySQL:
Ver original
Consigue realizar la búsqueda correctamente diferenciando mayúsculas de minúsculas, así como de palabras inacabadas, es decir, si busco "rbol" me devuelve todos los resultados con las palabras"árbol" y "arbol" entre otros.
He leído mucho sobre el tema y algunos ponen como solución incluir en la consulta lo siguiente:
Código MySQL:
Pero si incluyo el código anterior, me dá el siguiente error:Ver original
COLLATE utf8_spanish_ci
Cita:
Me he fijado en el cotejamiento y utilizo utf8 en la base de datos, tablas y columnas, pero no en el servidor, es decir, he realizado las siguientes consultas:COLLATION 'utf8_spanish_ci' is not valid for CHARACTER SET 'latin1'
Código MySQL:
Ver original
Código MySQL:
Y en ambas la parte que corresponde al servidor tiene determinado el cotejamiento "latin1":Ver original
Código MySQL:
Ver original
character_set_server latin1
Código MySQL:
Ver original
collation_server latin1_swedish_ci
Cita:
Por lo tanto, tengo 2 preguntas:Editado: Código de programación no permitido en foros de Bases de Datos.
Mal etiquetado. Corresponde Highlight SQL o MySQL.
Mal etiquetado. Corresponde Highlight SQL o MySQL.
- ¿Cambiando este cotejamiento se solucionará mi problema con los acentos en mi búsqueda?
- ¿Como puedo cambiar el cotejamiento del sevridor?
Como apunte, la base de datos está repleta de datos, he leído que no es lo mismo realizar dicho cambio con la bd vacía que llena.
Muchíiiiiiiisimas gracias!
Un saludo muy grande! :)