En MySQL el problema se resuelve simplemente:
1. DEfiniendo la tabla con
CHARSET latin1 y
COLLATION latin1_swedish_ci
2. Asignando al campo la conversión con
COLLATION latin1_swedish_ci.
De ese modo el problema se resuelve por tabla de caracteres.
Prueba esto:
Código sql:
Ver originalCREATE TABLE `nombres` (
`NOMBRE` VARCHAR(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO NOMBRES VALUES('MARIA LUCÍA'), ('LUCIA'), ('MARÍA'),('MARÍA FERNANDA');
SELECT *
FROM nombres n
WHERE NOMBRE LIKE'%MARIA%';
Eso te debería devolver los tres registros que cumplen la condición, sin importar si MARIA está acentuada o no....