Yes, LIKE operator works according to collations of its arguments.
This behaviour is conformant to the SQL standard.
IF the collation is case insensitive, then LIKE is done
case insensitively.
latin1_spanish_ci is case and accent insensitive.
You can see its chart here:
http://myoffice.izhnet.ru/bar/~bar/charts/latin1_spanish_ci.html
If you need different accents to be non-equal for LIKE,
you need to use a case and accent sensitive collation.
For example, latin1_bin.
There are two possibilities:
1. Use latin1_bin in CREATE TABLE:
CREATE TABLE t1 (c1 VARCHAR(128) CHARACTER SET latin1 COLLATE latin1_bin;
However, "SELECT c1 FROM t1" will return data in binary order,
which is not very good.
2. An alternative better way is to use latin1_spanish_ci in CREATE TABLE:
CREATE TABLE t1 (c1 VARCHAR(128) CHARACTER SET latin1 COLLATE latin1_spanish_ci;
which will provide good sorting order.
Then, you can use COLLATE clause in your queries with LIKE expression:
SELECT c1 FROM t1 WHERE c1 LIKE 'string' COLLATE latin_bin;