Search code examples
mysqlregexencodingcharacter-encodingrlike

Mysql RLIKE / PREG_MATCH bug


Cold someone could explain why this returns true:

SELECT BINARY 'â' RLIKE '[™]';
SELECT BINARY 'é' RLIKE '[©]';

What could be the fix ? Is it some misconfiguration on my part?


UPDATE:

found that using (™|©) instead of [™©] would work as a first workaround


Solution

  • From the documentation:

    Warning
    The REGEXP and RLIKE operators work in byte-wise fashion, so they are not multi-byte safe and may produce unexpected results with multi-byte character sets.