Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2013, 11:03
waspeis
 
Fecha de Ingreso: julio-2013
Mensajes: 44
Antigüedad: 10 años, 10 meses
Puntos: 0
Error de Collation en consulta SQL

Buenas compañeros

Tengo en una tabla (actores) almacenados nombre y apellidos de actores. En la aplicación existe la opción de buscar un actor escribiendo el nombre, el apellido o parte de alguno de ellos

La consulta es la siguiente:

Código MySQL:
Ver original
  1. SELECT id_ac, nombre, apellidos FROM actores WHERE nombre LIKE '%" . $nom . "%' OR apellidos LIKE '%" . $nom . "%'

Cuando se escribe un nombre que contiene una vocal acentuada sale el siguiente error:

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_unicode_ci,COERCIBLE) for operation 'like'

He observado que la base de datos, las tablas y los campos de las tablas tienen Collation. He cambiado el Collation de los campos de la tabla actores que inicialmente era latin1_swedish_ci por el mismo Collation que el de la base de datos (utf8_unicode_ci). De esta manera no me da error pero tampoco me da ningún resultado

Por ejemplo:

Hay una actriz en la base de datos que se llama Mélanie Thierry. Si escribo Mélanie en el buscador, la consulta no me da ningún resultado. Pero si escribo Melanie, si me da como resultado esta actriz.

Quisiera que me diera resultado cuando escribo en el buscador Mélanie. ¿Sabéis si se puede?

Gracias

Última edición por gnzsoloyo; 19/08/2013 a las 12:01